title image


Smiley Re: von verzeichnissen und laufwerken...
Hi Fredi,Dein Code sieht doch gar nicht schlecht aus.Zum Aufbau des Verzeichnisbaums. Ich habe dir einen Beispielcode mitgeschickt. Der deinen Code erweitert. Die SearchDir - Methode sucht im angegebenen Pfad nach Ordnern und hängt diese in deinen Baum hinein. Es wird nur der angebene Pfad untersucht. Wenn du denn Kommentar vor ( searchDir( file_liste[i], unter1 ) ) wegnimmst, dann wird rekursiv die komplette darunterliegende Struktur durchsucht. Dies ist aber sehr Zeit und Speicher aufwendig. Deshalb sollte man dies so nicht tun. Jedoch zur Demonstration der listFiles dürfte es reichen. Du müßtest in Echtzeit beim klicken auf einen Ast die untergeordneten Ordner nachladen ( Dies mußt du mit den Dateien sowieso machen ). Mit den Dateien ist alles gleich nur prüfst du dann nicht mit .isDirectory(), sondern mit .isFile().Yo, dann wünsche ich dir noch viel Spaß mit dem Explorer....Bye, Jürgenvoid setLW(){ int anzahl = File.listRoots().length; for (int i=0;i { DefaultMutableTreeNode unter1 = new DefaultMutableTreeNode(File.listRoots()[i]); top.add(unter1); setFolder(unter1, File.listRoots()[i]); };}void searchDir( File pfad, DefaultMutableTreeNode ast ){ // Hole dir die Liste des aktuellen Verzeichnis File[] file_liste; file_liste = pfad.listFiles(); if ( file_liste != null ) { // Die Verzeichnisse herausfiltern.... for ( int i=0 ; i { //File file = new File( pfad + str_liste[i]); if ( file_liste[i].isDirectory() ) { // Es ist ein Directory.. .. // Jetzt musst du das Verzeichnis in deinen Baum hängen // ....... DefaultMutableTreeNode unter1 = new DefaultMutableTreeNode(file_liste[i].getName()); ast.add(unter1); // und um besten gleich den Ordner nach weiteren Ordnern durchsuchen // Das funktioniert am besten wenn du die gleicheRoutine sich selbst // aufrufen läßt ( rekursiv ). // Das Startverzeichnis ist dann der aktuelle Ordner // Das mußt du dann als Parameter mitgeben, wahrscheinlich auch // die Baumposition //searchDir( file_liste[i], unter1 ); } } }}void setFolder(DefaultMutableTreeNode laufwerk, File pfad){ searchDir ( pfad, laufwerk );}

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: