无法访问的文件和File.list()

use*_*658 3 java file

在我的文件系统中搜索文件时,我的程序抛出了空指针异常,因为File.list()无法访问我的文件系统上的"Documents And Settings"并尝试解析String [] myArray = File.list() myArray为null抛出了异常.

如何检查文件或文件夹是否无法使用文件访问并保持不发生?

Boz*_*zho 7

file.isDirectory()将告诉您File对象是否代表目录.

文档listFiles()提到null如果File不代表目录,它将返回.此外,您需要检查file.canRead()应用程序是否可以读取目录.

但是File这里的API非常糟糕,因为null如果存在I/O问题,它可以返回.所以你通常会去哪里IOException,你应该检查一下null.FileUtils例如,Apache commons-io 正好使用这种方法:

File[] found = directory.listFiles(filter);
if (found != null) {...}
Run Code Online (Sandbox Code Playgroud)