user_xyz Geschrieben 15. Dezember 2005 Teilen Geschrieben 15. Dezember 2005 hallo, ich möchte ein programm schreiben das einen bestimmten ordner nach dateien durchsucht die 0kb speicher nehmen. diese dateien sollen dann gelöscht werden. kann mir da jemand weiterhelfen? geht doch über ne if schleife... oder? muss ich die dateien irgendwie vorher einlesen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
_Arvid_ Geschrieben 15. Dezember 2005 Teilen Geschrieben 15. Dezember 2005 Zum Einen wirst du mit if-Anweisungen keine Schleifen erzeugen können, da eine if-Anweisung nur einmal durchlaufen wird. Es sei denn, deine if-Anweisung liegt innerhalb einer echten Schleife (wahrscheinlich meintest du das auch?). Zum Anderen findest du zum Beispiel hier einen weiteren Thread bezüglich dem Durchsuchen von Verzeichnissen. Weitere findest du sicherlich auch hier. Bevor du Fragen stellst, die erfordern, dass wir deine Probleme lösen, versuche mal Folgendes: Werde dir erst im Klaren was du machen möchtest. (Ok, das wissen wir nun.) Anschließend versuche mal selbst heraus zu finden, wie du dein Ziel erreichen kannst. Stelle keine Mutmaßungen an, die von einem von uns bestätigt oder dementiert werden müssen. Lass dir erst von uns helfen, wenn du wirklich auf konkrete Hürden stößt, an denen du nicht selbst weiter kommst. Wenn dir das weiter hilft, lege nicht gleich los mit dem Programmieren, sondern "male" dir die Abläufe deines Programms erst auf ein Stück Papier auf. Egal ob UML-gültiges Struktogramm oder Pseudo-Diagramm... Überlege dir mal wirklich: Was muss passieren, wenn dein Programm ein Verzeichnis durchsucht? Wie muss das passieren? Und was muss passieren, wenn es in diesem Verzeichnis eine Datei findet, was wenn es ein weiteres Verzeichnis ist? Was wenn...? So lernst du besser programmieren. Glaube mir. Wenn du an einen Punkt ankommst, an dem du merkst, du hast dich wirklich verzettelt, dann kannst du immernoch hier fragen. Dann helfen wir dir auch total gerne. Dafür ist ja dieses Forum da. Aber alles ohne eigene Vorarbeit uns zu überlassen schadet dir selbst mehr als es dir nutzt. (Nimm das nicht persönlich. Das ist viel eher ein guter freundschaftlicher Rat als eine Standpauke.) Viel Erfolg beim Tüfteln! Du schaffst das, ganz sicher. Und wie gesagt - wenn du auf echte Probleme stößt, dann kannst du ja immernoch fragen... Beste Grüße, Arvid. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_Newlukai Geschrieben 15. Dezember 2005 Teilen Geschrieben 15. Dezember 2005 Du wirst die Dateien einlesen müssen, denn die Klasse File bietet keine Methode an, die Dir die Größe des referenzierten Dateiobjekts liefert. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
user_xyz Geschrieben 15. Dezember 2005 Autor Teilen Geschrieben 15. Dezember 2005 muss ich das in eine arry einlesen`? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingofbrain Geschrieben 15. Dezember 2005 Teilen Geschrieben 15. Dezember 2005 Servus, warum machst Du es nicht einfach so, wie ar-sch.de gesagt hat, dann brauchst Du mit solchen Fragen nicht kommen. Was willst Du in ein Array einlesen? Warum? Also, erst mal Gedanken über das Teil machen und mit sinnvollen Fragen hier wieder aufschlagen. Peter Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_Newlukai Geschrieben 15. Dezember 2005 Teilen Geschrieben 15. Dezember 2005 @ar-sch.de und kingofbrain: Laßt das doch als Sticky posten. Wäre ein bißchen aufwendig, daß jedem von vorne zu erklären. Zurück zum Problem. Wie kingofbrain schon sagte: Wieso als Array? Falls Du nicht weißt, was Streams sind, lies Dir das entsprechende Kapitel in 'Java ist auch eine Insel' oder einem anderen Java-Buch durch. Mit einem File-Objekt erhältst Du eine Referenz auf ein Objekt im Dateisystem. Falls es sich um eine Datei handelt kannst Du einen Reader oder einen InputStream anfordern. Falls der nichts enthält, kannst Du Dir sicher sein, das nichts in der Datei steht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 15. Dezember 2005 Teilen Geschrieben 15. Dezember 2005 Du wirst die Dateien einlesen müssen, denn die Klasse File bietet keine Methode an, die Dir die Größe des referenzierten Dateiobjekts liefert.Und wofür ist dann die length() Methode? public long length() Returns the length of the file denoted by this abstract pathname. The return value is unspecified if this pathname denotes a directory. Returns: The length, in bytes, of the file denoted by this abstract pathname, or 0L if the file does not exist Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_Newlukai Geschrieben 15. Dezember 2005 Teilen Geschrieben 15. Dezember 2005 Und wofür ist dann die length() Methode? Ähm. Ja. OK... :floet: Man lernt nie aus. Ich nehme alles zurück und behaupte das Gegenteil. Da sieht man mal, wie wichtig es ist, die API auf eigene Faust zu erkunden und sich nicht auf Halbwahrheiten von irgendwelchen Forenmitgliedern zu verlassen :hells: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
speedi Geschrieben 20. Dezember 2005 Teilen Geschrieben 20. Dezember 2005 Du gehst einfach die Ordner rekursiv durch und öffnest jede Datei mit nem FileReader, wenn schon beim ersten mal lesen "-1" zurück kommt weist du das die Datei leer ist. Dann kannst du sie mit der Klasse File löschen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
_Arvid_ Geschrieben 20. Dezember 2005 Teilen Geschrieben 20. Dezember 2005 Ist nicht nötig. Es geht auch. Ist aber ganz einfach nicht nötig. Perdi hat doch schon so wundervoll die Java API Doc zitiert. Die Methode length() kann das nämlich ganz gut... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.