我有一台RedHat 7机器,并且想要获取驻留在Ext4上的常规文件的大小。

Files.size()声明IOException。除了FileNotFoundException之外,可能还会引发其他哪些异常?

使用Java 7和nio包。

最佳答案

此方法不能引发FileNotFoundException。

它可以抛出FileSystemException,其中之一:


NoSuchFileException,
AccessDeniedException,
其他。


它还可能引发IOException,这表示I / O级别错误(可能是磁盘问题),而不是文件系统级别错误。

简而言之,处理这两种情况的最佳方法是:

try {
    Files.size(...);
} catch (FileSystemException e) {
    // deal with fs level error
} catch (IOException e) {
    // deal with I/O level error
}

关于java - File.Found(Path)可以抛出FileNotFoundException以外的哪些异常?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37192334/

10-14 05:22