如何使用javafx从目录中获取所有文件

时间:2016-03-12 14:11:36

标签: file javafx directory loading fxml

我是JavaFx的新手,我无法从目录中获取所有文件(我需要使用javafx构建的界面显示一些图片)。我一直在尝试使用listFiles()但是在显示测试时我一直都是null。 这是代码:

background-position: center 100px;

我认为我没有以正确的方式使用listFiles(),但我无法弄清楚如何实际操作。 我的文件夹album_1包含.png中的3张图片。但是,当我尝试这个示例时,我得不到任何结果,就像文件夹是空的一样。 我希望有人能够帮助我。 谢谢你的时间。

1 个答案:

答案 0 :(得分:2)

您的for循环错误。迭代返回的文件列表的正确方法是

for (int i = 0 ; i < fileList.length ; i++) {
    System.out.println(filesList[i]);
}

或(更好):

for (File f : fileList) {
    System.out.println(f);
}

请注意documentation for listFiles()说:

  

表示文件和目录的抽象路径名数组   此抽象路径名表示的目录。阵列将是   如果目录为空则为空。如果此抽象返回null   pathname不表示目录,或者发生I / O错误。

因此,如果您在此处收到空指针异常,那么因为repo不是目录。您可能想先检查一下:

if (repo.isDirectory()) {
    File[] fileList = repo.listFiles();
    // ...
}