Java 访问文件夹中的文件时出现NullPointerException
我试图列出文件夹中的文件,但它会产生空指针异常 这是密码Java 访问文件夹中的文件时出现NullPointerException,java,file,nullpointerexception,Java,File,Nullpointerexception,我试图列出文件夹中的文件,但它会产生空指针异常 这是密码 String url=req.getRequestURI(); String path=session.getServletContext().getRealPath(url); File folder = new File(path); File[] listOfFiles = folder.listFiles(); for (int i = 0; i < listOfFiles.length; i++) {
String url=req.getRequestURI();
String path=session.getServletContext().getRealPath(url);
File folder = new File(path);
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++) {//this line is producing nullpointer exception
if (listOfFiles[i].isFile()) {
System.out.println("File " + listOfFiles[i].getName());
} else if (listOfFiles[i].isDirectory()) {
System.out.println("Directory " + listOfFiles[i].getName());
}
}
作为各州的Javadoc:
如果此抽象路径名不表示目录,则返回null,或者
如果发生I/O错误
因此,为了防止NPE,采取如下措施:
File[] listOfFiles = folder.listFiles();
if (listOfFiles != null) {
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
System.out.println("File " + listOfFiles[i].getName());
} else if (listOfFiles[i].isDirectory()) {
System.out.println("Directory " + listOfFiles[i].getName());
}
}
}
else {
System.out.println("Could not read " + folder.getName());
}
File[]listOfFiles=folder.listFiles();
if(listOfFiles!=null){
for(int i=0;i
请将NullPointerException
编辑到您的问题中。问题的可能副本与此完全相同,但它只是跳过了null文件。我有一个文件夹中的文件哪一行产生了异常?可能是
File[] listOfFiles = folder.listFiles();
if (listOfFiles != null) {
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
System.out.println("File " + listOfFiles[i].getName());
} else if (listOfFiles[i].isDirectory()) {
System.out.println("Directory " + listOfFiles[i].getName());
}
}
}
else {
System.out.println("Could not read " + folder.getName());
}