这段代码可以在android 4.4、5.0、5.1、6.0上正常工作

 File file = new File("/storage/emulated/0//Videos/");
    String[] myFiles;
    myFiles = file.list();
    for (int i = 0; i < myFiles.length; i++) {
        File myFile = new File(file, myFiles[i]);
        myFile.delete();
 }


但是当我将其用于android 4.0、4.1、4.2时,我得到java.lang.NullPointerException在行引用

for (int i = 0; i < myFiles.length; i++)


所以我尝试初始化字符串,

String[] myFiles = new String[100] //just big value


但是android studio显示初始化程序“ new String [100]”是多余的,错误无法解决。

为什么会这样?

谢谢..!

最佳答案

File.list()的javadoc说它可以返回null。除非绝对确定它不会返回null,否则无论何时调用它都应始终检查并正确处理。

10-08 18:14