java - 我遇到空指针异常,但不确定它在代码中的位置

标签 java file nullpointerexception filenotfoundexception file-not-found

我的代码中遇到了各种异常问题。该类旨在查找计算机上的所有文件夹/子文件夹并将它们列为 ArrayList。它不关心其中的文件。这是代码。请帮忙,我已经为此感到沮丧一个星期了。

import java.io.File;
import java.util.ArrayList;


public class Detector
{
   private ArrayList<String> paths;

   public Detector()
   {
      File[] roots = File.listRoots();
      for(File drive : roots)
      {
         getPaths(drive.listFiles());
      }
   }
   public Detector(String str)
   {

      File[] bob = new File(str).listFiles();
      getPaths(bob);
   }

   public void getPaths(File[] files)
   {
      for (File file : files)
      {
          if(file.isDirectory())
          {
             paths.add(file.getName());
             getPaths(file.listFiles());
          }
      }
   }

   public ArrayList<String> getPathList()
   {
      return paths;
   }

   public void printPaths()
   {
      for(String str: this.getPathList())
      {
         System.out.println(str);
      }
   }
   public static void main(String[] args)
   {
         Detector tom = new Detector("/F:");
         tom.printPaths();
   }
}

最佳答案

您从未初始化路径:

private ArrayList<String> paths = new ArrayList<String>();

请注意,我在这里也使用了 String 类型参数,正如您应该的那样。一般来说,尽量避免使用 raw types .

关于java - 我遇到空指针异常,但不确定它在代码中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18831473/

相关文章:

java - 让另一个 JVM 成为比 Sun JVM 更好的选择的 killer 设施或场景?

java - Xamarin.Android Notification.Notify 不执行任何操作

java - 将 "<"或 ">"作为参数传递给比较器

.net - SSD 驱动器上奇怪的目录删除行为

java - 什么是NullPointerException,我该如何解决?

java - 在同一个 Spring Boot 应用程序中多次监听同一事件时处理轴突中的异常

c++ - 将文件数据写入类中? C++

c - 通过管道将逐位加密传递到输出文件

java - 即使 HTMLEditor 中有文本,我的 .getHtml 文本方法也始终返回 null

java - 无法通过POST请求获取参数