【问题标题】:File Object has a Null Pointer Exception文件对象有空指针异常
【发布时间】:2018-09-13 05:47:17
【问题描述】:

我在这行中遇到了问题,特别是 File 数组 failuSarasas。它返回 null。

//obj.generateIndexes(failuSarasas, 2);
HashMap<String, HashMap<String, Integer>> indTwoList = obj.generateIndexes(failuSarasas, 2);


public class mainas
{
      public static void main(String[] args) throws IOException
        {
            mainas obj = new mainas();
            File[] failuSarasas = obj.getFileList();

            //obj.generateIndexes(failuSarasas, 2);
            HashMap<String, HashMap<String, Integer>> indTwoList = obj.generateIndexes(failuSarasas, 2);
            obj.printHashMap(indTwoList);
            //obj.generateIndexMatrix(indTwoList, failuSarasas);

            // More code...
        }

    public File[] getFileList()
    {
        File folder = new File(
                " C:\\Users\\Dell Pc\\Desktop\\inform\\Informacijos modeliavimas\\Informacijos modeliavimas\\ld2\\pages");
        File[] listOfFiles = folder.listFiles();
        return listOfFiles;
    }

    // More code...
}

【问题讨论】:

标签: java pointers exception null main


【解决方案1】:

您的failuSarasas 对象为空,因为这段代码似乎返回了空:

public File[] getFileList() { File folder = new File( " C:\\Users\\Dell Pc\\Desktop\\inform\\Informacijos modeliavimas\\Informacijos modeliavimas\\ld2\\pages"); File[] listOfFiles = folder.listFiles(); return listOfFiles; }

您可能想在对新的File 对象执行任何操作之前检查文件是否存在。 File 类有一个 exist() 方法,您可以使用它来做到这一点。祝你好运!

编辑: 根据 Oracle 文档...

公共文件[] listFiles()

返回一个抽象路径名数组,表示由该抽象路径名表示的目录中的文件。

如果此抽象路径名不表示目录,则此方法返回 null。否则返回一个 File 对象数组,目录中的每个文件或目录一个...

看到第三段了吗?这就是为什么我怀疑您提供的路径不存在,这就是为什么我说先通过File#exists() 方法进行检查。

这是文件文档的链接:https://docs.oracle.com/javase/7/docs/api/java/io/File.html#listFiles()

附:除非您需要使用File,否则我建议您使用Files 和该包中的那些项目(java.nio.file)。

【讨论】:

  • 那么为什么 Failu sarasas 为空?如果他必须使用getFileList方法?
  • 请阅读我编辑的答案。这应该可以回答您的问题。
  • 非常感谢您的出色解释。麻烦的是,在设置目录的时候,字母C写得像大写字母! ; D " C:\\Users\\Dell Pc\\Desktop\\inform\\Informacijos modeliavimas\\Informacijos modeliavimas\\ld2\\pages")"
猜你喜欢
  • 2011-08-07
  • 2021-04-22
  • 1970-01-01
  • 2013-01-18
  • 2018-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多