简体   繁体   中英

Data structure to store a directory structure ?

I am developing a simple java web application using struts 2 framework. the purpose of the application is to display a specific directory structure under my computer using a JSP page.

My question is which data structure to use in order to store a directory structure, so that the JSP page can access that directory structure object from the action class.

ps:I want to use the following java code to traverse the directory.

Plz help

import java.io.File;

public class DisplayDirectoryAndFile{

    public static void main (String args[]) {

        displayIt(new File("C:\\Downloads"));
    }

    public static void displayIt(File node){

        System.out.println(node.getAbsoluteFile());

        if(node.isDirectory()){
            String[] subNote = node.list();
            for(String filename : subNote){
                displayIt(new File(node, filename));
            }
        }

    }
}

Directory structures are very easily modeled by trees. You can think of each node representing a directory or file, with edges running from directories to the contents of that directory.

You could represent the tree itself by having a node class that stores the name of the entity (directory or file), whether or not it is a directory, and a map from the names of its subdirectories / files to the nodes for those subdirectories or files.

Hope this helps!

As said, you can (and should) use a Tree.

This SO answer gives you a nice Tree Java structure out of the box: https://stackoverflow.com/a/3522481/1654265

read the comments too.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM