我想将一些字符串写入文件(使用 Java 8)。此代码片段编译时没有任何错误,但未写入文件....我是 noob ofcorz...有什么建议吗?
import java.io.BufferedWriter;
import java.io.FileWriter;
public class Main {
private static final String FILENAME = "C:\\IntelliJfiles\\write-to-
file\\src\\pl\\sca\\file.txt";
public static void main(String[] args) {
try {
String str = "kal";
BufferedWriter writer = new BufferedWriter(new
FileWriter(FILENAME));
writer.write(str);
System.out.println("Done");
}
catch (Exception e) {
System.out.println("There's no file");
e.printStackTrace();
}
}
}
最佳答案
在您关闭文件之前,它可能不会写入文件 - 写入磁盘非常耗时,因此它会等到写入足够的字符后才将它们实际放入文件中。这就是 BufferedWriter
中的缓冲内容方法。如果关闭它,它会将缓冲区“刷新”到磁盘上。
您可以使用 writer.close()
自行关闭它
或者您可以使用try-with-resources ,这将自动关闭编写器:
try (FileWriter fw = new FileWriter("C:\\IntelliJfiles\\write-to-file\\src\\pl\\sca\\file.txt");
BufferedWriter bw = new BufferedWriter(fw)){
bw.write("kal");
} catch (Exception e) {
e.printStackTrace();
}
关于Java BufferedWriter 不写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50117406/