哪种数据结构适合存储文件系统的路径?

时间:2012-03-17 06:34:55

标签: java

通过使用父路径,我需要遍历并存储位于该父路径中的所有文件夹和文件路径。那么应该在哪个数据结构中应用?

2 个答案:

答案 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);
}

术语文件用于表示机器人目录以及平面文件。