Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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中打开文件后会发生什么_Java_File - Fatal编程技术网

在java中打开文件后会发生什么

在java中打开文件后会发生什么,java,file,Java,File,假设使用JFilechooser,我们选择了一个包含1行的文本文件,比如。。。“你好,世界” 当我们打印文件内容时,我们会得到“hello world” 但是,如果我们更改了文本文件的内容并添加了一些新行,然后再次打印,会发生什么呢?java是否将文件存储在内存中?或者它会再次读取它,然后打印我们添加的新行?当您创建文件时,实际上什么都不会发生。文件的位置是存储的,没有其他内容。这就像设置GPS去某个地方,而不是开车去那里 从Javadoc: 文件和目录路径名的抽象表示 当您从文件中读取时,您将

假设使用JFilechooser,我们选择了一个包含1行的文本文件,比如。。。“你好,世界”

当我们打印文件内容时,我们会得到“hello world”
但是,如果我们更改了文本文件的内容并添加了一些新行,然后再次打印,会发生什么呢?java是否将文件存储在内存中?或者它会再次读取它,然后打印我们添加的新行?

当您创建
文件时,实际上什么都不会发生。文件的位置是存储的,没有其他内容。这就像设置GPS去某个地方,而不是开车去那里

从Javadoc:

文件和目录路径名的抽象表示


当您从文件中读取时,您将获得文件的内容。

这取决于您的操作。规则很简单:当您使用
FileInputStream
FileReader
再次阅读时,您将始终获得最新的内容。如果文件未经编辑,操作系统可能会在内存中对此进行优化。如果您只是将文件内容保存在自行构建的缓冲区中(例如:一个
字符串或一个
字节[]
),并且文件发生了变化,那么缓冲区当然会保持不变。

是的,我在回答中添加了:)
File file = new File("someFile.txt")