我刚刚开始学习Java,并且对文件库感兴趣。因此,我打开了一个名为filename.txt
的记事本文件。现在,我想使用Java写入文件,但是我想实时获得结果。
即,当执行Java代码时,更改应在文本文件中可见,而无需关闭并重新打开文件。
这是我的代码:
import java.io.*;
class Locker
{
File check = new File("filename.txt");
File rename = new File("filename.txt");
public void checker()
{
try{
FileWriter chk = new FileWriter("filename.txt");
if(check.exists())
{
System.out.println("File Exists");
chk.write("I have written Something in the file, hooray");
chk.close();
}
}
catch(Exception e)
{
}
}
};
class start
{
public static void main(String[] args)
{
Locker l = new Locker();
l.checker();
}
}
有可能吗,如果可以,有人可以告诉我怎么做?
答案 0 :(得分:11)
简单的答案:这不依赖于Java。
当FileWriter完成写入并被关闭时,文件系统中该文件的内容已更新。如果由于某种原因没有发生这种情况,则在运行该代码时应抛出某种形式的IOException。
用来查看文件的编辑器的问题是否认识到文件已更改……完全取决于您的编辑器。
某些编辑器将忽略更改,其他编辑器将告诉您“文件已更改,您要重新加载文件还是忽略更改”。
含义:您显示的代码确实“同步”地写入了该文件,而在“ java方面”则无所事事。
换句话说:尝试使用不同的编辑器,可能是用于源代码编辑的编辑器,例如atom,slickedit,visual studio等。