java-forum.org - Java programmieren aus Leidenschaft
Java 6 Einstieg und professioneller Einsatz
Alter Preis: 34,90 EUR
Jetzt: 0,00 EUR

zzgl. Versandkosten

Zurück   java-forum.org - Java programmieren aus Leidenschaft > Java - Programmierung > Allgemeine Java-Themen

Allgemeine Java-Themen Allgemeine Themen, die nicht in andere Fachforen und nicht zu den Java Basics passen

Thema geschlossen    
Themen-Optionen Thema durchsuchen Ansicht
Alt 07.06.2004, 10:22   #1 (permalink)
Stammbenutzer
Viertel Megabyte
 
Registriert seit: 01.01.2004
Fachbeiträge: 308
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard Rekursiv Verzeichnisse ansehen und auf Muster matchen

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]
__________________
Der Mensch ist der Mittelpunkt.
oder
Der Mensch ist Mittel. Punkt!
Math55 ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 07.06.2004, 12:05   #2 (permalink)
Stammbenutzer
Megabyte
 
Benutzerbild von meez
 
Registriert seit: 24.05.2004
Fachbeiträge: 1.685
Abgegebene Danke: 0
Erhielt 6 Danke für 1 Beitrag
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);
__________________
miis
meez ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 07.06.2004, 13:48   #3 (permalink)
Neuer Benutzer
short
 
Registriert seit: 22.03.2004
Fachbeiträge: 24
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
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
__________________
Wenn du gut genug bist, kannst du Gott sein, jedenfalls in einem bescheidenen Rahmen. (Linus Torvalds)
[x] <-- nail here for a new monitor
Knoxx ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 07.06.2004, 16:22   #4 (permalink)
Stammbenutzer
Viertel Megabyte
Themenstarter
 
Registriert seit: 01.01.2004
Fachbeiträge: 308
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
mhhh, klappt nicht. zumindest kompiliert es sich, aber irgendwie startet das prohgramm nicht. noch ne idee?

DANKE
__________________
Der Mensch ist der Mittelpunkt.
oder
Der Mensch ist Mittel. Punkt!
Math55 ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 07.06.2004, 16:28   #5 (permalink)
Stammbenutzer
Viertel Megabyte
 
Registriert seit: 03.06.2004
Fachbeiträge: 278
Abgegebene Danke: 10
Erhielt 1 Danke für 1 Beitrag
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...
	}
}
K-Man ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 07.06.2004, 17:18   #6 (permalink)
Stammbenutzer
Viertel Megabyte
Themenstarter
 
Registriert seit: 01.01.2004
Fachbeiträge: 308
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
ne, klappt einfach nicht.....

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

    runThroughCompleteDirectory(c[i]);
...
steht zwar was drin, aber irgendwie durcheinander.....misst!!!
__________________
Der Mensch ist der Mittelpunkt.
oder
Der Mensch ist Mittel. Punkt!
Math55 ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 07.06.2004, 18:22   #7 (permalink)
Stammbenutzer
Viertel Megabyte
 
Registriert seit: 03.06.2004
Fachbeiträge: 278
Abgegebene Danke: 10
Erhielt 1 Danke für 1 Beitrag
Wo steht was drinnen und wie durcheinander???
K-Man ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Thema geschlossen    

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Verzeichnisse rekursiv durchlaufen und dann RegEx muemmel_0811 Java Basics - Anfänger-Themen 6 24.07.2007 12:48
2 Tabellen matchen Datenbankprogrammierung 11 31.10.2006 10:08
Pseudocode: rekursiv/nicht-rekursiv Biiene Java Basics - Anfänger-Themen 1 20.01.2006 19:32
Verzeichnisse rekursiv Chat - NoPaste 0 05.01.2006 11:22
Verzeichnisse rekursiv durchlaufen dreamer Java Basics - Anfänger-Themen 3 08.11.2004 15:41


Lesezeichen

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:30 Uhr.


Powered by vBulletin® Version 3.8.6 (Deutsch)
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.2
Thanks for Smilies by smilies.4-user.de