Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java是否从给定目录(包括子文件夹)获取所有文件名?_Java_File_Directory - Fatal编程技术网

Java是否从给定目录(包括子文件夹)获取所有文件名?

Java是否从给定目录(包括子文件夹)获取所有文件名?,java,file,directory,Java,File,Directory,基本上遍历整个文件夹结构。 例如,我有一个音乐文件夹,其中有相册作为文件夹。我的音乐文件夹中也有其他杂项歌曲 我有这个,但它只拾取其他音乐文件,并给我一个FileNotFoundException,原因是对其他唱片文件夹的访问被拒绝 File[] files = new File("C:/Users/Mayank/Desktop/Music/").listFiles(); private class ButtonListener implements ActionListener

基本上遍历整个文件夹结构。 例如,我有一个音乐文件夹,其中有相册作为文件夹。我的音乐文件夹中也有其他杂项歌曲

我有这个,但它只拾取其他音乐文件,并给我一个FileNotFoundException,原因是对其他唱片文件夹的访问被拒绝

    File[] files = new File("C:/Users/Mayank/Desktop/Music/").listFiles();
    private class ButtonListener implements ActionListener {
    public void actionPerformed(ActionEvent arg0) {
        int check = (int) (Math.random()* files.length);
        isPlaying = false;
        mp3.close();
        mp3 = new MP3(files[check].getPath());
        mp3.play();
        isPlaying = true;
    }

编辑:我看到它是重复的。谢谢你,布莱恩

问题可能是您试图播放的目录也列出了这些目录。检查FileNameFilter


对于一般问题,创建一个递归方法,列出目录中的所有文件,如果它找到一个目录,再次调用该方法传递新目录。

这样它就不会拾取一个.txt文件了?还可以发布实际的堆栈跟踪吗?