Reputation: 61
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));
}
}
}
}
Upvotes: 5
Views: 13276
Reputation: 50203
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.
Upvotes: 2
Reputation: 372814
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!
Upvotes: 4