假设使用JFilechooser,我们选择了一个包含1行的文本文件,比如......“hello world”
File file = new File("someFile.txt")
当我们打印文件内容时,我们得到"hello world"
但是如果我们更改了文本文件内容并添加了一些新行并再次打印,会发生什么呢?java会将文件存储在内存中吗?或者它会再次读取它,然后打印我们添加的新行?
答案 0 :(得分:1)
这取决于你做了什么。规则很简单:当您使用FileInputStream
或FileReader
再次阅读时,您将始终获得最新内容。如果未编辑文件,操作系统可能会在内存中对此进行优化。如果只是将文件内容保存到自构造的缓冲区中(例如:String
或byte[]
),文件会发生变化,当然缓冲区将保持不变。
答案 1 :(得分:0)
创建File
时,实际上什么也没发生。存储文件的位置,没有别的。这就像设置你的GPS去某个地方而不是去那里。
来自Javadoc:
文件和目录路径名的抽象表示。
当您从文件中读取内容时,您将获得该文件的内容。