这里,
try { FileWriter fw = new FileWriter("test.txt"); BufferedWriter out = new BufferedWriter(fw); out.write("aString");} catch (IOException e) { e.printStackTrace();}
您将其包装在
BufferedWriter,默认缓冲区大小为8KB。因此,只要您不写超过8KB的内容并且不刷新/关闭它,它就不会出现在目标文件中。
完成后,您需要关闭编写器。这将刷新所有缓冲区并释放文件上的所有锁。通常的习惯用法是在与创建它的位置
finally相同的
try块中将其关闭。这样,您可以确保在出现异常的情况下也将其关闭,从而防止资源泄漏和永久锁定的文件。
Writer writer = null;try { writer = new BufferedWriter(new FileWriter("test.txt")); writer.write("aString");} catch (IOException e) { e.printStackTrace();} finally { if (writer != null) try { writer.close(); } catch (IOException ignore) {}}
另外,如果您已经在使用Java 7,则还可以使用新的try-with-
resources语句。离开该
try块时,它将自动关闭资源,从而减少了样板代码。
try (Writer writer = new BufferedWriter(new FileWriter("test.txt"))) { writer.write("aString");} catch (IOException e) { e.printStackTrace();}
顺便说一下,我也将从事异常处理。而是向最终用户显示一些明智的错误消息,而不是将其普通打印到标准输出并进一步忽略它。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)