【问题标题】:NullPointerException on java array, have created new objectsjava数组上的NullPointerException,已创建新对象
【发布时间】:2014-02-11 20:37:59
【问题描述】:

尝试在此部分运行我的程序时遇到 NullPointerException 错误:

File folder = new File("mypictures");
File[] pictures = folder.listFiles();
allCards = new Card[pictures.length];

for(int i=0; i < (pictures.length); i++){
    allCards[i] = new Card(new ImageIcon(pictures[i].getPath())); 
}

它在以下行抱怨:

Card[] allCards = new Card[pictures.length];

【问题讨论】:

  • listFiles() 可以返回null"如果此抽象路径名不表示目录,或者发生 I/O 错误,则返回 null。"
  • A NullPointerException 发生在运行时,而不是编译时。
  • @ZouZou 把它写下来作为答案!
  • @PeterBratton 毕竟这只是文档! :)

标签: java arrays nullpointerexception


【解决方案1】:

如果folder 不引用目录,listFiles() 将返回null。即,当您尝试调用 pictures.length 时,您将失败并返回 NullPointerException

【讨论】:

    【解决方案2】:

    您的代码中可能会出现很多问题。 在列出文件夹中的文件之前,请使用 try catch 并确保该文件夹存在。

    【讨论】:

      猜你喜欢
      • 2019-08-07
      • 2015-01-06
      • 2020-12-17
      • 2010-12-27
      • 1970-01-01
      • 2021-07-30
      相关资源
      最近更新 更多