Java Sonar lint报告可能为空的点异常

Java Sonar lint报告可能为空的点异常,java,sonarqube,sonarlint,Java,Sonarqube,Sonarlint,Sonar lint报告for循环中下面的Java代码片段可能出现空点异常: 对于(文件项:folder.listFiles()){ . } 请问有没有ide如何解决这个问题? 方法如下: private ArrayList<String> listFileNamesInFolder(final File folder) { ArrayList<File> fileList = new ArrayList<File>(); ArrayList

Sonar lint报告for循环中下面的Java代码片段可能出现空点异常: 对于(文件项:folder.listFiles()){ . }

请问有没有ide如何解决这个问题? 方法如下:

private ArrayList<String> listFileNamesInFolder(final File folder) {

    ArrayList<File> fileList = new ArrayList<File>();
    ArrayList<String> fileNameList = new ArrayList<String>();

     for (File fileEntry : folder.listFiles()) {
        assertNotNull(fileEntry);
        if (fileEntry.isDirectory()) {                        
            listFileNamesInFolder(fileEntry);
        } else {
            if(fileEntry.getName().endsWith(".csv")) {
                fileList.add(fileEntry);
                fileNameList.add(fileEntry.getName());
                setTestInfo(fileEntry.getName());                    
            }
        }
    }
    return fileNameList;
}
private ArrayList listFileNamesInFolder(最终文件文件夹){
ArrayList fileList=新建ArrayList();
ArrayList fileNameList=新的ArrayList();
对于(文件项:folder.listFiles()){
assertNotNull(文件条目);
如果(fileEntry.isDirectory()){
listFileNamesInFolder(文件条目);
}否则{
if(fileEntry.getName().endsWith(“.csv”)){
fileList.add(fileEntry);
添加(fileEntry.getName());
setTestInfo(fileEntry.getName());
}
}
}
返回文件名列表;
}

文件
中的
列表文件
的Javadoc说明它返回:

一个抽象路径名数组,表示中的文件和目录 此抽象路径名表示的目录。阵列将被删除 如果目录为空,则为空。如果此摘要为空,则返回null 路径名不表示目录,或者如果发生I/O错误

由于这可能返回
null
,因此您可能希望在迭代数组之前检查此值,以防止出现
NullPointerException
异常,如:

File[] fileEntries = folder.listFiles();
if (fileEntries == null) {
    // ...
} else {
    for (final File fileEntry : fileEntries) {
        // ...
    }
}

fileEntries
null
时,您可以选择抛出异常或返回空列表。

文件
listFiles
的Javadoc表示它返回:

一个抽象路径名数组,表示中的文件和目录 此抽象路径名表示的目录。阵列将被删除 如果目录为空,则为空。如果此摘要为空,则返回null 路径名不表示目录,或者如果发生I/O错误

由于这可能返回
null
,因此您可能希望在迭代数组之前检查此值,以防止出现
NullPointerException
异常,如:

File[] fileEntries = folder.listFiles();
if (fileEntries == null) {
    // ...
} else {
    for (final File fileEntry : fileEntries) {
        // ...
    }
}

fileEntries
null
时,您可以选择抛出异常或返回空列表。

您使用的是哪个版本的SonarLint?问题具体报告在哪里?您使用哪种版本的Sonarint?问题具体报告在哪里?确实有帮助。感谢文件[]fileEntries=文件夹.listFiles();assertNotNull(文件条目);对于(File fileEntry:fileEntries){….}有帮助。感谢文件[]fileEntries=文件夹.listFiles();assertNotNull(文件条目);对于(File fileEntry:fileEntries){….}