Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我可能会对文件执行哪些操作,从而导致file.lastModified()调用更改它';s值多少?_Java_File - Fatal编程技术网

Java 我可能会对文件执行哪些操作,从而导致file.lastModified()调用更改它';s值多少?

Java 我可能会对文件执行哪些操作,从而导致file.lastModified()调用更改它';s值多少?,java,file,Java,File,我想知道在java中什么类型的编程行为可以算作“修改”文件。也就是说,我可能对文件执行的哪些操作会导致file.lastModified()调用更改其值 也就是说,开幕式?阅读?写作?抄袭?写作是一个明显的触发因素,但其他因素则不那么明显。我在网上做了一些调查,没有立即看到任何东西 澄清:我不是要设置上次修改的时间,我只是试图确定java程序可能参与的编程行为会导致该值更新。显然,写入一个文件就可以做到这一点。但是,还有其他情况会导致这种情况吗?阅读取决于打开,复制取决于阅读。写入是设置最后修改

我想知道在java中什么类型的编程行为可以算作“修改”文件。也就是说,我可能对文件执行的哪些操作会导致file.lastModified()调用更改其值

也就是说,开幕式?阅读?写作?抄袭?写作是一个明显的触发因素,但其他因素则不那么明显。我在网上做了一些调查,没有立即看到任何东西


澄清:我不是要设置上次修改的时间,我只是试图确定java程序可能参与的编程行为会导致该值更新。显然,写入一个文件就可以做到这一点。但是,还有其他情况会导致这种情况吗?

阅读取决于打开,复制取决于阅读。写入是设置最后修改的戳记的唯一触发器。在大多数操作系统中,打开文件后,需要指定要以何种模式打开文件。e、 g.
rw
r
w
a
(附加)等(取决于实现/操作系统)。由于
a
包括
w
w
是唯一将设置上次修改的戳记的操作

Java类(如
FileInputStream
)将打开指定
r
或“read”的文件,这样就不会触发上次修改的戳记。Java有不同的读写器类——输入和输出。输入/读取器类(
reader
InputStream
)不会设置上次修改的戳记。但是,一个简单的开放供写入(不实际写入)也很可能触发LastModified戳记,即:

new FileOutputStream( new File( "path/to/file.extension" ) );
最有可能触发上次修改的集合


关于。

上次修改标志是操作系统的一项功能;java只是将这个值传递给您。任何更改文件中单个字节的内容都应更改“上次修改”日期;a也是。谢谢你的评论,我知道这个标志是一个操作系统函数。我正试图从我的程序中找出可能导致此标志更新的原因。与其让我们猜测可能的原因,不如花时间跟踪代码中触发上次修改的更改的点。我很感激,但是我希望在某个地方有一个列出操作的列表。打开文件并读取它并不是在修改它。给它写信就是修改它。您不需要列表。说它将触发上次修改的更改是不正确的。它将创建一个完整的新文件,其中包含一个新的创建日期以及一个新的上次修改日期。