# Bestimmte Dateien aus Verzeichnis löschen



## Guest (13. Jul 2004)

hallo,

meine anwendung legt während der ausführung zum puffern dateien auf die festplatte. die dateien liegen alle im gleichen verzeichnis wie die class-files und ihr name beginnt immer gleich ("ifxb_"). 

nach dem schließen meiner anwendung möchte ich aufräumen, d.h. alle zwischengespeicherten dateien auf dem klassenverzeichnis löschen. hab leider momentan keine ahnung wie ich da rangehen soll   

ich müsste ja erstmal irgendwie ermitteln, wieviel dateien angelegt wurden und wieder gelöscht werden müssen. dann muss ich die alle irgendwie in ner schleife nacheinander löschen...

hat jemand schonmal sowas gemacht?


----------



## P3AC3MAK3R (13. Jul 2004)

Mit der Klasse File und den Methode listFiles und delete solltest Du weiterkommen:

http://java.sun.com/j2se/1.4.2/docs/api/java/io/File.html
http://java.sun.com/j2se/1.4.2/docs/api/java/io/File.html#listFiles()
http://java.sun.com/j2se/1.4.2/docs/api/java/io/File.html#delete()


----------



## bygones (13. Jul 2004)

als tipp: http://java.sun.com/j2se/1.4.2/docs/api/java/io/File.html#createTempFile(java.lang.String,%20java.lang.String,%20java.io.File)
und
http://java.sun.com/j2se/1.4.2/docs/api/java/io/File.html#deleteOnExit()


----------



## Guest (14. Jul 2004)

danke, der tip mit dem list() war gut... hab was gebastelt was auch funktioniert


----------



## P3AC3MAK3R (14. Jul 2004)

Das poste das doch am besten hier, so daß andere auch etwas davon haben.


----------



## Guest (14. Jul 2004)

Die folgende Methode löscht alle Dateien aus dem aktuellen Verzeichnis, die mit "ifxb_" beginnen:

```
private void aufraeumen(){
		
		try {
		
						URL url = FaxExplorer.class.getResource("."); //ermittelt den Pfad zum aktuellen Verzeichnis
						URI uri = new URI(url.toExternalForm()); 
						File file = new File(uri); 
						String[] inhalt; 	  
		
												System.out.println(uri.toString());
						inhalt = file.list(); //alle Verzeichnisse und Dateien in diesem Pfad
						for (int i = 0; i < inhalt.length; i++){
							System.out.println(inhalt[i]);
					
							String puffer = uri.toString().substring(6);
							System.out.println(puffer + inhalt[i]);
					
							if(inhalt[i].startsWith("ifxb_")){
								//File x = new File(puffer + inhalt[i]);
								File x = new File(inhalt[i].toString());
								x.delete();
							}
						}
				}catch (Exception ex){System.out.println("Fehler");}
		
	}
```


----------

