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

时间:2014-05-23 19:13:13

标签: java file

假设使用JFilechooser,我们选择了一个包含1行的文本文件,比如......“hello world”

File file = new File("someFile.txt")

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

2 个答案:

答案 0 :(得分:1)

这取决于你做了什么。规则很简单:当您使用FileInputStreamFileReader再次阅读时,您将始终获得最新内容。如果未编辑文件,操作系统可能会在内存中对此进行优化。如果只是将文件内容保存到自构造的缓冲区中(例如:Stringbyte[]),文件会发生变化,当然缓冲区将保持不变。

答案 1 :(得分:0)

创建File时,实际上什么也没发生。存储文件的位置,没有别的。这就像设置你的GPS去某个地方而不是去那里。

来自Javadoc:

  

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

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