【发布时间】:2014-10-04 01:58:28
【问题描述】:
我需要通过提供目录和子目录来获取所有文件名 由于某种原因它不起作用,我不知道是什么问题
这就是我所做的:
import java.io.File;
public class Main
{
public static void main(String[] args) {
String root = "C:\\eclipse";// root directory
String[] filename = null;
filename = getFfileNamesAndInsertToArray(root, filename);
printFileNames(filename);
}
public static void printFileNames(String[] filenames) {
for (int i = 0; i < filenames.length; i++) {
System.out.println(filenames[i]);
}
}
public static String[] getFfileNamesAndInsertToArray(String root, String[] filenames) {
String[] files = filenames;
java.io.File dir = new java.io.File(root);
for (java.io.File file : dir.listFiles()) {
// String path = file.getAbsolutePath(); // get path of file
if (file.isDirectory() == false) {
files[files.length + 1] = file.getName();
}
else {
root = file.getAbsolutePath();
getFfileNamesAndInsertToArray(root, files);
}
}
return files;
}
}
【问题讨论】:
-
files是null。此外,当发布类似堆栈跟踪的问题时很有用。