通过使用父路径,我需要遍历并存储位于该父路径中的所有文件夹和文件路径。那么应该在哪个数据结构中应用?
答案 0 :(得分:1)
在我的一个旧目录中找到它,但我认为树数据结构更有效 -
import java.io.File;
public class DirectoryReader {
static int spc_count=-1;
static void Process(File aFile) {
spc_count++;
String spcs = "";
for (int i = 0; i < spc_count; i++)
spcs += " ";
if(aFile.isFile())
System.out.println(spcs + "[FILE] " + aFile.getName());
else if (aFile.isDirectory()) {
System.out.println(spcs + "[DIR] " + aFile.getName());
File[] listOfFiles = aFile.listFiles();
if(listOfFiles!=null) {
for (int i = 0; i < listOfFiles.length; i++)
Process(listOfFiles[i]);
} else {
System.out.println(spcs + " [ACCESS DENIED]");
}
}
spc_count--;
}
public static void main(String[] args) {
String nam = "H:/rel";
File aFile = new File(nam);
Process(aFile);
}
}
答案 1 :(得分:0)
树更合适。您的根目录将被视为您的树的根。每个子目录将构成一个子树。每个文件和空目录都代表叶子。然后,您可以使用树遍历算法来打印目录的内容。 这是一个列出目录内容的递归伪代码。
listEntireDirectory(file){
printFileName(file); // print the name of directory of file
if(isDirectory(file)){
for each subDirectory subDir in directory file // loop through the content of your directory
listEntireDirectory(subDir);
}
术语文件用于表示机器人目录以及平面文件。