尝试使用Java中的文件i / o捕获逻辑错误

时间:2015-05-05 04:04:02

标签: java file-io error-handling try-catch

所以,我一直在尝试从各种来源学习java,我已经学习了大约2年了。到目前为止,一切都进展顺利,我没有必要在stackoverflow上发布一段时间。最近我一直试图弄清楚如何使用java创建和读取文件。我可以在不同的应用程序中执行这两项操作,但是当我尝试这两种操作时,它并不总是有效。

我想要发生什么: 我希望我的程序创建HtmlHelper.ClientValidationEnabled = false; HtmlHelper.UnobtrusiveJavaScriptEnabled = false; ,然后我希望它读取数据并在data.txt上生成错误日志。

会发生什么: data.txt文件按预期创建,但没有任何内容写入error.txt文件。我无法抓住try / catch块以及它是如何工作的。有人有任何想法吗?即使只是一些建议将不胜感激。谢谢!

error.txt

2 个答案:

答案 0 :(得分:1)

outputFile.close();之前移动inputFile = new Scanner(fileName);行。目前它只是缓存在内存中而不是实际写入磁盘。

答案 1 :(得分:1)

PrintWriter的文档说明了一切。 PrintWriter(Writer)构造函数创建一个不会自动刷新的编写器。

您必须调用close或flush方法将数据写入文件。

所以你必须在开始阅读之前使用outputFile.close();方法。

作为一种良好做法,您必须关闭所有PrintWriter实例以避免内存泄漏。

在这种情况下,请在程序结束时添加inputFile.close();