I am working on a Java application. We read lot of data, manipulate it and then write to files in local m/c. If, in any case, the disk is full then how to handle this exception in Java application.
问问题
4578 次
3 回答
10
你可以看看这里。
此变通方法解决了磁盘已满时不抛出异常的问题。
基本上,它是通过以下方式完成的:
FileOutputStream fos = ...;
fos.write("hello".getBytes());
fos.getFD().sync();
fos.close();
当磁盘已满时,对该方法的调用sync()
将抛出一个,。SyncFailedException
于 2011-09-28T12:02:33.820 回答
3
当您说如何处理此异常时,您能否更准确地说明您的意思?
我看到它的方式有两种:
- 要么您将该信息提供给用户,然后用户将需要清理一些磁盘空间
- 或者您将从应用程序中删除一些您自己操作的不需要的数据,例如在系统中使用时间最长的数据或其他一些标准。
于 2011-09-28T12:02:03.493 回答
2
这是关于该主题的一篇很好的博客文章:http ://weblog.janek.org/Archive/2004/12/20/ExceptionWhenWritingToAFu.html
此外,Java 的这个 bug 票解释了各种策略:http ://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4338871
于 2013-05-23T02:16:07.810 回答