[英]PrintWriter create empty file
我有StringBuilder sb
,我希望该字符串保存为*.txt
文件。 问题是我得到"filename.txt"
但它完全是空的,控制台也没有错误。
这是我的代码:
System.out.print(sb.toString());
PrintWriter out;
try{
out = new PrintWriter("filename.txt");
out.println(sb.toString());
}catch (Exception e) {
e.printStackTrace();
}
控制台输出:
[19/3/2014]
Ime in priimek: Matjaz Mav
Naslov: Ppot 6, 1000 Ljubljana
Telefon: 040 111 222
Registerska št.: LJ 1234
Znamka: Citroen
Model: C4
Letnik: 2005
Opombe: Popravi
谢谢!
使用此构造函数创建PrintWriter
,将第一个参数更改为OutputStream
:
out = new PrintWriter(new FileOutputStream("filename.txt"), true);
打开自动刷新,或者,一旦你用out.close()
写入它就关闭作者。
你应该在这个程序中使用out.close()
语句。
out.close(); 不见了。 你必须把它放进去关闭会话。
PrintWriter out;
try{
out = new PrintWriter("filename.txt");
out.println(sb.toString());
//add the below lines
out.flush();
out.close();
}catch (Exception e) {
e.printStackTrace();
}
另一种方法是使用autoFlush打开PrintWriter
。 这可以通过实现
out = new PrintWriter(new FileOutputStream("filename.txt"), true);
如果你只做out.close()
,它也可以解决手头的问题,因为它会在internally flush
内部缓冲区中写入的内容。
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.