gpt4 book ai didi

java - 我如何获得java目录中所有文件和文件夹的列表

转载 作者:行者123 更新时间:2023-12-01 23:07:19 25 4
gpt4 key购买 nike

我试图编写一个方法来获取目录中的所有目录和文件,最后决定放弃并在这里询问。

我知道这个问题已经被问过几次并且已经得到回答,但这有点困难。

我确实得到了这个代码

    public static void listf(String directoryName, ArrayList<File> files)
{
File directory = new File(directoryName);

// get all the files from a directory
File[] fList = directory.listFiles();
for (File file : fList)
{
if (file.isFile())
{
files.add(file);
} else if (file.isDirectory())
{
listf(file.getAbsolutePath(), files);
}


}
System.out.println(files);
}

它很有帮助,但我需要它也给出它在 ei 中的目录。

C:\\Users\\UserName\\Desktop\\Folder\\Folder1\\a.txt
C:\\Users\\UserName\\Desktop\\Folder\\Folder1\\b.txt

C:\\Users\\UserName\\Desktop\\Folder\\Folder2\\c.txt

我的第一个代码:

public class FileTransfer
{
private final static File testFileFolder = new File("C:\\Users\\Melaia\\Desktop\\Send\\");
private static File[] filesInFolder;

private static String[] listOfFilesInFolder;

private static int noOfFilesInFolder, k = 0;

public static void startupFileSend()
{


filesInFolder = testFileFolder.listFiles();
noOfFilesInFolder = (filesInFolder.length);



for(int zzz = 0; zzz <= noOfFilesInFolder; zzz++)
{



if(filesInFolder[k].isDirectory())
{
File[] file1 = filesInFolder[k].listFiles();

listOfFilesInFolder[k] = file1[k].getName() + ";";
}
else
{
listOfFilesInFolder[k] = filesInFolder[k].getName();
}

System.out.println(listOfFilesInFolder[k]);

}


}
}

但这给了我这个异常(exception):

Exception in thread "main" java.lang.NullPointerException
at Com.org.FileTransfer.startupFileSend(FileTransfer.java:32)
at Com.org.Main.main(Main.java:7)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)

请有人给我任何建议。

谢谢卢克。

最佳答案

1) 初始化这个listOfFilesInFolder像这样

listOfFilesInFolder = new String[noOfFilesInFolder]

2)不确定这是否是唯一的问题,但需要改变

zzz <= noOfFilesInFolder

zzz < noOfFilesInFolder

3)此外,您永远不会更改 k变量,不确定这是否是有意的。

关于java - 我如何获得java目录中所有文件和文件夹的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22571096/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com