java - 如何使用java同步写入文件?
问题描述
我刚开始学习 Java,我对 File 库很感兴趣。所以我打开了一个记事本文件,名为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();
}
}
有可能吗,如果可以,有人可以告诉我怎么做吗?
解决方案
简单的回答:这不依赖于 Java 端。
当您的 FileWriter 完成写入并关闭时,文件系统中该文件的内容已更新。如果由于某种原因没有发生这种情况,那么在运行该代码时应该抛出某种形式的 IOException。
您用来查看文件的编辑器是否意识到文件已更改的问题......完全取决于您的编辑器。
一些编辑器会忽略更改,其他编辑器会告诉您“文件已更改,您要重新加载它,还是忽略更改”。
含义:您显示的代码确实“同步”写入该文件,在“Java 方面”无事可做。
换句话说:尝试使用不同的编辑器,可能是一种用于源代码编辑的编辑器,比如 atom、slickedit、visual studio,......
推荐阅读
- webkit - 如何为触摸屏启用 wpe webkit 支持
- php - 使用codeigniter php保护托管Linux上的文件夹中的文件
- github - 有没有办法使用 GitHub 操作通过 FTP 从 Windows 服务器中删除文件?
- python - Python 3.8.7 在 Windows 10 中以一种有趣的方式运行
- copy - asp 自动将数据库文件从在线复制或下载到本地电脑
- spring-boot - 没有找到端点映射 Spring-Boot
- swift - 如何使样式选择器完全可触摸
- javascript - 未捕获的异常:Highcharts 中的范围错误未解决
- javascript - Vue组件没有在项目中呈现,没有任何进一步的错误
- mysql - 如何使用 swift 检查和更新 mySQL?