按下按钮时,我使用java写入文本文件。
我正在使用以下方式写入文件:
FileWriter write = null;
try {
write = new FileWriter(fileLocation, false);
PrintWriter print = new PrintWriter(write);
print.printf("%s" + "%n", text);
print.close();
} catch (IOException ex) {
Logger.getLogger(DataEntry.class.getName()).log(Level.SEVERE, null, ex);
} finally {
try {
write.close();
} catch (IOException ex) {
Logger.getLogger(DataEntry.class.getName()).log(Level.SEVERE, null, ex);
}
}
一旦写入,我使用以下命令打开文本文件:
Desktop.getDesktop().open(new File(fileLocation));
如果按下按钮时关闭文本文件,则此功能正常。但是,如果文件已打开,则文本文件会更改,但当java'打开'文件时,不会显示更改。相反,它将已打开的文本文件放在前面,但不更新内容。
有没有办法显示新信息?
答案 0 :(得分:1)
我不认为你能直接解决这个问题。
Java桌面类与本机操作系统没有足够的集成能够确定文件是否已经打开,或者关闭本机应用程序显示它的任何内容。
你不会说你正在写什么样的文件,但也许你可以编写Java代码来在你的程序中显示它,而不是仅仅要求本机操作系统打开"打开"它。然后你就拥有了你需要的控制权。
答案 1 :(得分:1)
您所看到的主要是预期的行为 - 显示文件留给系统默认文本编辑器(最有可能是记事本)。它对文件启动后对文件所做的任何更改都毫无头绪,也无法改变。
可能的解决方案: