Rekursiv Verzeichnisse ansehen und auf Muster matchen

Status
Nicht offen für weitere Antworten.

Math55

Bekanntes Mitglied
hallo, ich möchte den inhalt eines verzeichnisses haben. wenn in dem verzeichnis jedoch wieder ein verzeichnis ist, soll dieses auch durchsucht werden. und so weiter. momentan habe ich das so:


Code:
if(c[i].isDirectory()){ 
                
    File dir = new File(c[i]+""); 
    
    ch = dir.list(); 
                
    FilenameFilter filter = new FilenameFilter() { 
        public boolean accept(File dir, String name) { 
            try{ 
                     if(regex){ 
                          return (name.matches(regexField.getText())); 
                     }else{ 
                         return name.matches(".*"); 
                     } 
             }catch(Exception npe){ 
       
             return name.matches(".*"); 
            } 
       } 
}; 
         ch = dir.list(filter); 
         size=ch.length; 
         System.out.println(c[i] + " size: " + size); 
                
}


allerdings wird so ja nur immer das oberste untersucht. ich möchte dann das resultat in einem jtree darstellen. ne idee?

DANKE:)
[/code]
 

meez

Top Contributor
Ich würd zuerst mal alle Files suchen, und dann nach mustern:

Code:
	public Vector getRecursiveFiles(String baseDir) {
		return this.getRecursive(baseDir, new Vector());
	}
	
	private Vector getRecursive(String baseDir, Vector fileBuffer) {
		File file;
		file = new File(baseDir);		
		if (file.exists()) {
			if (file.isDirectory()) {
				File [] files = file.listFiles();
				for (int n=0;n<files.length;n++) {
					if (files[n].isDirectory()) 
						getRecursive(files[n].getPath(), fileBuffer);					
					else 
						fileBuffer.add(files[n].getPath());
					
				} 
			} 
		} 		
		return fileBuffer;
	}

Du bekommst einen Vektor mit allen Files (mit Pfad natürlich);
 

Knoxx

Mitglied
hab dir mal kurz was aus einem proggie von mir rauskopiert:
(funktioniert auch über ne collection)

Code:
	/** Runs through the filesystem of a given path and index all the files
	 * that matches the given extension.
	 * @param path Path where to start indexing the filesystem
	 * @param extension Extension of the files to index
	 */
	private void indexDir(String path, String extension)
	{
		File file = new File(path);
		if (file.isDirectory())
		{
			String files[] = file.list();
			for (int i = 0; i < files.length; i++)
			{
				indexDir(path + File.separator + files[i], extension);
			}
		}
		else
		{
			try
			{
				//has the file the specific extension?
				if (path.endsWith(extension))
				{
					//add the filename to the savegame-list
					filenames.add(path);
				}
			}
			catch (Exception e)
			{
				e.printStackTrace();
			}
		}
	}
	
	
	
	
	//Aufruf: z.B.
		indexDir("." + File.separator + "_savegames", ".sav");

gruss, knoxx
 

Math55

Bekanntes Mitglied
mhhh, klappt nicht. zumindest kompiliert es sich, aber irgendwie startet das prohgramm nicht. noch ne idee?

DANKE:)
 

K-Man

Bekanntes Mitglied
Code:
public void runThroughCompleteDirectory(File file)
{
	if(file != null)
	{
		if(file.isDirectory() && file.listFiles().length > 0)
		{
			File[] fileList = file.listFiles();
			for(int i = 0; i < fileList.length; i++)
				runThroughCompleteDirectory(fileList[i]);
		}
        // hier kannst du mit der Datei was anfangen...zB den Pfadnamen in eine Liste speichern...
	}
}
 

Math55

Bekanntes Mitglied
ne, klappt einfach nicht.....

Code:
if(c[i].isDirectory()){
					

    runThroughCompleteDirectory(c[i]);
...
steht zwar was drin, aber irgendwie durcheinander.....misst!!!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Wie könnte man den Codeschnipsel rekursiv darstellen? Allgemeine Java-Themen 1
M Endrekursiv vs Rekursiv Allgemeine Java-Themen 4
Aboya Kugel mit Hilfe von Dreiecken rekursiv zeichnen Allgemeine Java-Themen 2
Aboya Char Array rekursiv vergleichen Allgemeine Java-Themen 15
H Heron Verfahren Tail-rekursiv lösen Allgemeine Java-Themen 7
Kingamadeus2000 Alle mehrfach vorkommenden Buchstaben rekursiv aus einem String entfernen. Allgemeine Java-Themen 6
I Diskussion zu: Tribonacci Folge Rekursiv Allgemeine Java-Themen 15
R Warum ist die Methode unendlich oft rekursiv? Allgemeine Java-Themen 5
D 2,3-Baum rekursiv erstellen Allgemeine Java-Themen 20
denny86 NetBeans Ordnernamen rekursiv auslesen und in Variable verarbeiten Allgemeine Java-Themen 38
B Primfaktorzerlegung Rekursiv Allgemeine Java-Themen 2
B Primzahltest rekursiv Allgemeine Java-Themen 15
S Verkettete (Teil)Liste sortieren ( rekursiv bis n) Allgemeine Java-Themen 2
L Alle möglichen Additionen (Rekursiv) Allgemeine Java-Themen 3
N Rekursiv Höhe Baum Allgemeine Java-Themen 3
H Vektor rekursiv erzeugen Allgemeine Java-Themen 2
J Breitensuche in Graph rekursiv Allgemeine Java-Themen 2
E ordner rekursiv durchsuchen Allgemeine Java-Themen 6
E Ordner rekursiv kopieren Allgemeine Java-Themen 8
R synchronized methode rekursiv aufrufen Allgemeine Java-Themen 5
S MergeSort iterativ und rekursiv? Allgemeine Java-Themen 8
G Array rekursiv durchlaufen Allgemeine Java-Themen 2
S JAVA JTree rekursiv umschreiben Allgemeine Java-Themen 5
leifg Rekursiv mit Threads Programmieren Allgemeine Java-Themen 2
sparrow Ant build-files rekursiv aus ant aufrufen Allgemeine Java-Themen 3
K zinsen rekursiv/iterativ Allgemeine Java-Themen 17
K Verzeichnis rekursiv aus JAR-Datei extrahieren Allgemeine Java-Themen 6
F Filelisting iterativ, nicht rekursiv Allgemeine Java-Themen 7
L Spielerei: Frame rekursiv darstellen Allgemeine Java-Themen 3
Nero90 DirectorySync - Verzeichnisse Synchronisieren Allgemeine Java-Themen 3
A Java Verzeichnisse in Combobox Ausgeben JAVA Allgemeine Java-Themen 3
R Leere Verzeichnisse löschen Allgemeine Java-Themen 11
KrokoDiehl Verzeichnisse via FileVisitor löschen Allgemeine Java-Themen 3
G Mit Batch-Datei verzeichnisse löschen Allgemeine Java-Themen 9
R ANT Jar Task soll leere Verzeichnisse ignorieren..? Allgemeine Java-Themen 3
G Dateien und Verzeichnisse in einem Verzeichnis zählen Allgemeine Java-Themen 9
F mehrere Verzeichnisse als Parameter Allgemeine Java-Themen 15
S In .jar File Verzeichnisse anlegen Allgemeine Java-Themen 2
F Verzeichnisse auslesen / auflisten in einer html Allgemeine Java-Themen 2
U wie groß sind Verzeichnisse Allgemeine Java-Themen 11
H Precompilierten code ansehen Allgemeine Java-Themen 3
MQue Bytecode ansehen Allgemeine Java-Themen 13
F Quellcode von Java ansehen Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben