所以,我一直在尝试从各种来源学习java,我已经学习了大约2年了。到目前为止,一切都进展顺利,我没有必要在stackoverflow上发布一段时间。最近我一直试图弄清楚如何使用java创建和读取文件。我可以在不同的应用程序中执行这两项操作,但是当我尝试这两种操作时,它并不总是有效。
我想要发生什么:
我希望我的程序创建HtmlHelper.ClientValidationEnabled = false;
HtmlHelper.UnobtrusiveJavaScriptEnabled = false;
,然后我希望它读取数据并在data.txt
上生成错误日志。
会发生什么: data.txt文件按预期创建,但没有任何内容写入error.txt文件。我无法抓住try / catch块以及它是如何工作的。有人有任何想法吗?即使只是一些建议将不胜感激。谢谢!
error.txt
答案 0 :(得分:1)
在outputFile.close();
之前移动inputFile = new Scanner(fileName);
行。目前它只是缓存在内存中而不是实际写入磁盘。
答案 1 :(得分:1)
PrintWriter的文档说明了一切。 PrintWriter(Writer)构造函数创建一个不会自动刷新的编写器。
您必须调用close或flush方法将数据写入文件。
所以你必须在开始阅读之前使用outputFile.close();
方法。
作为一种良好做法,您必须关闭所有PrintWriter
实例以避免内存泄漏。
在这种情况下,请在程序结束时添加inputFile.close();
。