驱动器已满或空间不足时出现 IOException

发布于 2024-07-23 08:30:08 字数 255 浏览 3 评论 0原文

我正在寻找特定于平台(特定于 JRE)的 IOException 消息列表,指示磁盘已满或空间不足。

到目前为止,我有:

  • Windows:磁盘上没有足够的空间
  • Solaris/Linux?:空间不足
  • GCJ:设备上没有剩余空间

我希望 Java 能够为此创建一个 IOException 子类...

I am looking for a list of platform-specific (JRE-specific) of IOException messages indicating disk is full or out of space.

So far I have:

  • Windows: There is not enough space on the disk
  • Solaris/Linux?: Not enough space
  • GCJ: No space left on device

I wish Java would make an IOException subclass for this...

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

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

发布评论

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

评论(2

嘿咻 2024-07-30 08:30:08

该措辞实际上是一条系统消息,而不是来自 JRE 的消息。 (符合 POSIX 标准的将返回“空间不足”)

因此,最好的选择是获取目标操作系统的系统错误消息列表。

或者,当引发异常时,您可以检查磁盘上是否还有剩余空间。

来自 apache commons IO:

FileSystemUtils.freeSpaceKb(String path);

将返回驱动器/卷上的可用空间(或者甚至可能抛出 IOException!)

The wording is actually a system message, not one from the JRE. (POSIX compliant will return "Not enough space")

As such, your best bet is to get a list of system error messages for the OS' you are targeting.

Alternatively, when the exception is thrown, you could check to see if there is any space remaining on the disk.

From the apache commons IO:

FileSystemUtils.freeSpaceKb(String path);

will return free space on the drive/volume (or maybe even throw an IOException!)

划一舟意中人 2024-07-30 08:30:08

至于为什么没有IOException子类,我怀疑操作系统文件调用在足够的情况下没有给出足够的信息让Java在不解析错误消息的情况下知道错误是什么(一个非常脆弱的错误信息)最好的操作)。 许多 io 调用可能都是如此。

As to why there is not a IOException subclass, I suspect that the operating system file call does not give enough information in enough cases for Java to know what the error is without parsing the error message (a very fragile operation at best). This is probably true of a number of io calls.

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