如何处理java中的磁盘已满错误

ikv*_*000 5 java filesystems diskspace

我正在研究Java应用程序.我们读了很多数据,操纵它然后写入本地m/c中的文件.如果在任何情况下磁盘已满,那么如何在Java应用程序中处理此异常.

小智 9

你可以看看这里.
此解决方法解决了磁盘已满时不会引发异常的问题.

基本上,它由此完成:

FileOutputStream fos = ...;
fos.write("hello".getBytes());
fos.getFD().sync();
fos.close();
Run Code Online (Sandbox Code Playgroud)

当磁盘已满时,对该sync()方法的调用将抛出一个SyncFailedException.


Roc*_*yMM 3

当您说如何处理此异常时,您能更准确地说明您的意思吗?

我的看法有两种:

  • 要么您将该信息呈现给用户,然后用户将被要求清理一些磁盘空间
  • 或者您将从应用程序中删除您自己操作的一些不需要的数据,例如在系统中或根据其他标准存在最长时间的数据。