![]() |
|
|
|||||||
| Allgemeine Java-Themen Allgemeine Themen, die nicht in andere Fachforen und nicht zu den Java Basics passen |
|
|
|
Themen-Optionen | Thema durchsuchen | Ansicht |
| #1 (permalink) | |
|
Stammbenutzer
Viertel Megabyte
Registriert seit: 01.01.2004
Fachbeiträge: 308
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
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! |
|
|
| #2 (permalink) | |
|
Stammbenutzer
Megabyte
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;
}
__________________
miis
|
|
|
| #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");
__________________
Wenn du gut genug bist, kannst du Gott sein, jedenfalls in einem bescheidenen Rahmen. (Linus Torvalds) [x] <-- nail here for a new monitor |
|
|
| #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! |
|
|
| #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...
}
}
|
|
|
| #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]);
...
__________________
Der Mensch ist der Mittelpunkt. oder Der Mensch ist Mittel. Punkt! |
|
|
|
| Themen-Optionen | Thema durchsuchen |
| 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 |
|
|