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

发布于 2024-12-07 09:39:36 字数 93 浏览 1 评论 0原文

我正在开发一个 Java 应用程序。我们读取大量数据,对其进行操作,然后写入本地 m/c 中的文件。在任何情况下,如果磁盘已满,那么如何在 Java 应用程序中处理此异常。

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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

聊慰 2024-12-14 09:39:36

您可以此处查看。
此解决方法解决了磁盘已满时不引发异常的问题。

基本上是这样完成的:

FileOutputStream fos = ...;
fos.write("hello".getBytes());
fos.getFD().sync();
fos.close();

当磁盘已满时,调用 sync() 方法将抛出 SyncFailedException

You can take a look here.
This workaround solves the problem that no exception is thrown when your disk is full.

Basically, it is done by this:

FileOutputStream fos = ...;
fos.write("hello".getBytes());
fos.getFD().sync();
fos.close();

The call to the sync() method will throw a SyncFailedException, when the disk is full.

圈圈圆圆圈圈 2024-12-14 09:39:36

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

我认为有两种方法:

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

Can you specify more exactly what do you mean when you say how to handle this exception?

The way I see it there are two ways:

  • either you will present that information to user and then the user will be required to clean up some disk space
  • or you will delete some of the unneeded data that you manipulate on your own, from the application, for example the data that has been for the longest time in the system or by some other criteria.
怀里藏娇 2024-12-14 09:39:36

这是关于该主题的一篇很好的博客文章:http://weblog。 janek.org/Archive/2004/12/20/ExceptionWhenWritingToAFu.html

另外,这个 Java 错误单解释了各种策略:https://bugs.java.com/bugdatabase/view_bug?bug_id=4338871

This is a good blog post on the topic: http://weblog.janek.org/Archive/2004/12/20/ExceptionWhenWritingToAFu.html

Also, this bug ticket for Java, explains various strategies: https://bugs.java.com/bugdatabase/view_bug?bug_id=4338871

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文