Wie Java-Code zu schreiben, um mehrere Dateien zu löschen

In Java, können Sie Code schreiben, mehrere Dateien auf einmal gelöscht werden. Dies kann ein wenig schwieriger sein, als es sich anhört. Der Code zum Löschen der Datei sieht wie folgt aus:

neue Datei ( "importantData.txt") löschen (). -

In diesem Code, der neue Datei Aufruf bezieht sich auf eine einzelne Datei. Es ist sehr schön Code, aber es Sie nicht sagen, wie eine Reihe von Dateien zu löschen. Wie kann man auf einmal Code zu behandeln mehrere Dateien schreiben?

Glücklicherweise bietet Java Möglichkeiten, mit Bündeln von Dateien umgehen. Eine Möglichkeit nutzt eine Reihe von Datei Objekte.

Import java.io.File-Klasse IHateTxtFiles {public static void main (String args []) {Datei-Ordner = new File ( ".") - für (Datei: folder.listFiles ()) {if (file.getName ( ) .endsWith ()) {File.Delete () -} "txt."}}}

In vielen Betriebssystemen (einschließlich Windows, Mac OS und Linux), steht ein einzelner Punkt für das aktuelle Arbeitsverzeichnis: der Ort, wo ein Programm startet nach Dateien suchen. Für ein Java-Programm in Eclipse ausgeführt wird, das Arbeitsverzeichnis ist das Stammverzeichnis des Projekts.

Zum Beispiel vorstellen, dass der Code oben in einer Eclipse-Projekt lebt benannt 16-06. Dann ist Ihre Festplatte enthält einen Ordner mit dem Namen 16-06, was wiederum enthält einen Ordner mit dem Namen src- was wiederum enthält die IHateTxtFiles.java Datei. Das Arbeitsverzeichnis des Programms ist die 16-06 Verzeichnis. So ist der Code

folder = new File ( ".")

macht Mappe beziehen sich auf das Verzeichnis mit dem Namen 16-06.

bild0.jpg

Du bist wahrscheinlich denken: # 147-Stammverzeichnis des Projekts, 16-06, ist ein Ordner, keine Datei. Aber der Code sagt folder = new File ( "."). Warum nicht der Code sagen folder = neue Ordner ( ".")?

Es stellt sich heraus, dass die meisten Betriebssysteme, die Unterschiede zwischen den Ordnern und Dateien zu verwischen. Für Java Zwecke, das Dokument IHateTxtFiles.java eine Datei, mit dem Namen der Ordner src benannt ist auch eine Art einer Datei und der Ordner 16-06 ist auch eine Art einer Datei.

In Java, jede Datei Objekt hat eine Listfiles Verfahren, und wenn Sie anrufen folder.listFiles (), Sie bekommen ein Array. Jeder # 147-Wert # 148- in dem Array gespeichert ist eine der Dateien in der folder.

for (Type-Name Variablen : RangeOfValues) {Statements}

Das RangeOfValues ist ein Array. Das Array enthält alle Dateien innerhalb des 16-06 Projektverzeichnis. So ist die verbesserte für Schleife nimmt jede Datei innerhalb der 16-06 Verzeichnis und fragt # 147-Enthält diese Namen Ende der Datei mit .txt?# 148;

if (file.getName (). endsWith ( ". txt"))

Wenn der Name einer bestimmten Datei endet mit .txt, löschen Sie diese Datei:

File.Delete () -

Vor dem Ausführen dieses Beispiels, die 16-06 Verzeichnis enthält Dinge benannt src, AFile.txt, Rette mich, und xFile.txt.

image1.jpg

Nach dem Ausführen dieses Beispiels, die 16-06 Verzeichnis enthält noch src und Rette mich, aber nicht mehr enthält AFile.txt oder xFile.txt.

image2.jpg

Nachdem dieses Programm ausgeführt wird, können Sie keine Änderungen in Eclipse Package Explorer sehen. Um sicherzustellen, dass das Projektverzeichnis enthält nicht mehr .txt Dateien, wählen Sie die 16-06 Zweig im Paket-Explorer. Dann wird im Hauptmenü der Eclipse klicken Sie auf Datei-Refresh.

Eclipse Package Explorer sieht aus wie es die Anzeige aller Dateien und Ordner auf einem Teil Ihrer Festplatte. Aber der Schein trügt. Einige der Paket-Explorer Niederlassungen repräsentieren weder Dateien noch Ordner. Und einige Ihrer Festplatte Dateien und Ordner erscheinen nicht in Eclipse Package Explorer.

Neben Dingen wie src, die in Eclipse Package Explorer angezeigt wird, enthält ein Projektordner typischerweise Dateien mit dem Namen .classpath und .Projekt, und Ordner mit dem Namen .Einstellungen und Kasten. Diese zusätzlichen Dateien und Ordner werden normalerweise nicht in Eclipse Package Explorer angezeigt.

Wenn Sie anrufen folder.listFiles (), die resultierende Anordnung umfassen die keines der Dinge, in Unterverzeichnissen Mappe Verzeichnis.

Menü