Hallo Java Gemeinde,
hab schon viel gesucht, aber komischerweise nicht wirklich etwas hilfreiches zu meinem Problem gefunden. Hoffe ihr könnt mir weiter helfen.
Ich habe ein Verzeichnis auf meinem Server (z.B d:\Dokumente).
Dieses Verzeichnis (mit sämtlichen Unterverzeichnisse und Dateien) möchte ich gerne
in einem TreeView (wie Windows Explorer) auf meiner JSP Seite darstellen.
Ich weiss, dass es von JQuerry ein TreeView plugin gibt. Dieses habe ich in einem anderen Context schonmal verwendet. Aber hier muss das TreeView plugin ja irgendwie mit den Verzeichnisdaten arbeiten.
Ich habe mir eine Java Klasse geschrieben, die mir den HTML Code (als String) für den Baum liefert.
Hier ein kleiner Ausschnitt.
Das Manko ist, dass ich Die Verzeichnisse nicht richtig sortiert bekomme. Die Methode listFiles liest wohl Ordner immer zum Schluss ein
Bin da völlig ahnunglos, wie ich meinen lokalen Verzeichnisbaum vernünftig abbilden kann.
Irgendwo habe ich auch gelesen, dass es besser wäre Dateien und Ordner separat zu behandeln.
Aber das verstehe ich nicht wirklich. Woher wissen dann die Dateien zu welchen Ordner sie gehören?
Kann mir bitte jemanden ein paar Hinweise bzw. Tips geben? Codeschnipsel wären auch nicht schlecht
Evtl. gibt es noch eine ganz andere Lösung (evtl. gibt es ja schon ein Javascript plugin welches ein Verzeichnis darstellt.)
Vielen Dank schonmal im voraus!
Viele Grüße,
Moonie
hab schon viel gesucht, aber komischerweise nicht wirklich etwas hilfreiches zu meinem Problem gefunden. Hoffe ihr könnt mir weiter helfen.
Ich habe ein Verzeichnis auf meinem Server (z.B d:\Dokumente).
Dieses Verzeichnis (mit sämtlichen Unterverzeichnisse und Dateien) möchte ich gerne
in einem TreeView (wie Windows Explorer) auf meiner JSP Seite darstellen.
Ich weiss, dass es von JQuerry ein TreeView plugin gibt. Dieses habe ich in einem anderen Context schonmal verwendet. Aber hier muss das TreeView plugin ja irgendwie mit den Verzeichnisdaten arbeiten.
Ich habe mir eine Java Klasse geschrieben, die mir den HTML Code (als String) für den Baum liefert.
Hier ein kleiner Ausschnitt.
Java:
package com.siemens.birt.utilities;
import java.io.File;
import java.io.FilenameFilter;
import java.util.ArrayList;
import java.util.Arrays;
public class FileTree
{
private String _HTML_Tree = "";
private File _directory = null;
private FilenameFilter _filter = null;
public FileTree(String dir)
{
this._directory = new File(dir);
}
public String getHTMLTree()
{
return generateHTMlTree(this._directory);
}
private String generateHTMlTree(File dir)
{
//FilenameFilter flt = new Filter(_filter);
File[] files = dir.listFiles(this._filter);
this._HTML_Tree = this._HTML_Tree + "<ul>";
for (int i = 0; i < files.length; i++)
{
if (files[i].isFile())
{
// Es handelt sich um eine Datei
this._HTML_Tree = this._HTML_Tree + "<li>" + files[i].getName() + "</li>";
}
else if (files[i].isDirectory())
{
this._HTML_Tree = this._HTML_Tree + "<ul>";
// Es handelt sich um ein Verzeichnis,
// dann ruft sich Funktion selber auf (rekursion)
this._HTML_Tree = this._HTML_Tree + "<li>" + files[i].getName() +"</li>";
this.generateHTMlTree(files[i]);
this._HTML_Tree = this._HTML_Tree + "</ul>";
}
}
this._HTML_Tree = this._HTML_Tree + "</ul>";
return this._HTML_Tree;
}
private void setFileFilter(String flt)
{
this._filter = new Filter(flt);
}
}
Das Manko ist, dass ich Die Verzeichnisse nicht richtig sortiert bekomme. Die Methode listFiles liest wohl Ordner immer zum Schluss ein
Bin da völlig ahnunglos, wie ich meinen lokalen Verzeichnisbaum vernünftig abbilden kann.
Irgendwo habe ich auch gelesen, dass es besser wäre Dateien und Ordner separat zu behandeln.
Aber das verstehe ich nicht wirklich. Woher wissen dann die Dateien zu welchen Ordner sie gehören?
Kann mir bitte jemanden ein paar Hinweise bzw. Tips geben? Codeschnipsel wären auch nicht schlecht
Evtl. gibt es noch eine ganz andere Lösung (evtl. gibt es ja schon ein Javascript plugin welches ein Verzeichnis darstellt.)
Vielen Dank schonmal im voraus!
Viele Grüße,
Moonie