Java FilenameFilter

Java FilenameFilter
Die Funktion ListFiles () in Java kann verwendet werden. Die Dateiinstanzen an einem Ort werden zurückgegeben, wenn die Listfiles () ohne Argumente aufgerufen werden. Wir können einen Teil dieser Fälle abrufen, wenn wir einen Filter als Argument angeben. Wir müssen die Funktion Accept () definieren, um eine Instanz zu erstellen, die den DateinameFilter erbt. Der Heimweg der Datei wird durch die DIR -Entität und ihren Titel durch den Dateinamen dargestellt. Die Datei wird in der Sammlung von Dateiinstanzen von Call nach listFiles () angezeigt, wenn Accept () wahr ergibt. Andernfalls liefert der Anruf bei Listfiles die Datei nicht ().

Java installieren

Bevor wir mit unserem Java -Beispiel beginnen, öffnen wir die Shell -Anwendung über den Anwendungsbereich der Linux -Maschine aus. Dies liegt daran, dass wir die Shell Console -Anwendung verwenden, um die Java -Laufzeitumgebung zu installieren. Für die Installation ist es erforderlich, das Paket "APT" mit dem "sudo" -Regileg in der "install" -Ber "zu verwenden. Verwenden Sie für die Installation von Java Runtime Environment den Paketnamen "Standard-Jre" wie vorgestellt:

Beispiel

Wir verwenden unser erstes Java -Beispiel, um anzuzeigen, wie eine DateinameFilter -Schnittstelle verwendet werden kann. Dafür müssen wir im Arbeitsverzeichnis einige spezifische Typ -Dateien haben. Zunächst erstellen wir eine Java -Datei mit dem Namen „Filter.Java “, das zum Codieren verwendet wird. Danach erstellen wir zwei Textdateien, hallo.txt und neu.TXT jeweils. Alle drei Dateien werden mit der Abfrage "Touch" erstellt. Die Verwendung der Anweisung „LS“ enthält nun alle drei Dateien im Home -Ordner.

Beginnend mit dem ersten Java -Beispielcode machen wir es so einfach wie möglich. Es beginnt mit dem Import der Hauptpakete von Java, um die Dateibehandlung zu verwenden. Wir importieren die Datei- und IOExecption -Klasse der Java.IO -Paket zusammen mit dem Import seiner DateinameFilter -Schnittstelle, die verwendet werden, um eine Liste bestimmter Dateien zu erhalten. Importieren Sie zunächst, wenn Sie alle erforderlichen Pakete importieren, eine Demo -Testklasse erstellen und die Funktion main () -Funktion hinzufügen. Wenn das Programm seine Ausführung startet, wird das Dateiobjekt „FOBJ“ mithilfe der Datei () -Klasse eines Java generiert, wobei der Home -Verzeichnispfad als Argument für die Konstruktorfunktion verwendet wird.

Die Schnittstelle von DateinameFilter () wird hier verwendet, indem das Objekt „TF“ erstellt wird, mit dem die Dateinamen gefiltert werden. Die öffentliche integrierte Funktion des Booleschen Typs „Akzeptieren“ ist hier, um nach den spezifischen Dateinamen zu suchen und zu übereinstimmen. Es verwendet das Verzeichnis und den Namen einer Datei, die in ihren Parametern aus der Dateiklasse durchsucht werden soll. Während die Namen aller übereinstimmenden Muster unter Verwendung der Funktion TolowerCase () in einen niedrigeren Fall konvertiert werden und in einer String -Variable „N“ gespeichert werden. Die Anweisung "if" ist Castoff, um die Hauptsache durchzuführen - nach dem Datei -Suffix prüft. Es verwendet den variablen "n" -Wert, um das Ende des spezifischen Musters über die Funktion "Endswith" von Java zu entsprechen.

Wenn die Endzeichen einer Variablen "n" -Wertwert mit dem angegebenen Dateinamenmuster übereinstimmen, wird "True" zurückgegeben. Ansonsten gibt es falsche zurück. Wir geben das an “.txt ”, um nach allen Textdateien zu überprüfen. In der Zwischenzeit erstellen wir ein Array -Objekt „LF“ mit der Datei () Klasse (). Und wir speichern alle übereinstimmenden Dateien darin mit der Funktion "List Files () einer Java, die vom Dateiobjekt" FOBJ "aufgerufen wird, indem das Textfilterobjekt" TF "übergeben wird. Die "für" -Schloop wird bis zum Ende eines Arrays "LF" für jede Datei "F" initialisiert. Die Anweisung "if" überprüft, ob die Datei "F" ein Verzeichnis oder eine einfache Datei über die Funktion isDirectory () ist. Es zeigt den resultierenden Pfad danach.

Dafür verwendet es die Println () -Funktion eines „Systems“.Out ”-Klasse zuerst in der Anweisung" if ", um das Verzeichnis" Verzeichnis "oder" Datei "anzuzeigen. Danach verwenden wir das System.aus.println () Anweisung erneut, um den Namensweg zur Datei mit der Funktion "GetCanonicalPath ()) darin zu erhalten. Wir speichern diese Java -Datei vor dem Ausführungsprozess.

Nach Ausführung der Java -Datei für die “.TXT ”-Dateimuster, wir erhalten insgesamt 2 Pfade, die für die Dateien von Texttypen im Home Working -Verzeichnis aufgeführt sind.

Sie können auch die gleiche Methode verwenden, die die angepassten Dateinamenmuster in einem anderen Ordner als dem aktuellen Arbeitsverzeichnis übereinstimmen und anzeigen können. Nehmen wir an, wir haben dieselben zwei Textdateien im Ordner unseres Systems wie in der LS -Abfrage.

Jetzt müssen Sie den Pfad in das Verzeichnis aktualisieren, in dem wir das Dateinamenmuster übereinstimmen, oder durchsuchen. Also geben wir den Pfad zum Ordner der Dokumente und speichern ihn.

Bei der Ausführung zeigt es erneut den Pfad zu 2 Textdateien - Hallo.txt und neu.txt.

Auf eine sehr ähnliche Weise können Sie auch nach anderen Dateitypen suchen. Sagen wir, wir wollen nach allem suchen “.Java -Dateien im Heimverzeichnis unseres Linux -Systems. Ersetzen ".txt ”mit“.Java".

Die Ausführung zeigt den Pfad zum Java -Datei „Filter.Java “, an dem wir gearbeitet haben.

Manchmal entspricht das Muster, nach dem wir suchen. Zum Beispiel fügen wir das "S" -Muster hinzu, das im Home -Ordner gesucht werden soll.

Im Gegenzug zeigt die Ausführung die Pfade zu den Ordnern in einem Heimverzeichnis, das „S“ an ihrem Ende enthält.

Abschluss

Wir haben die Verwendung der DateinameFilter () -Schrobtikation von Java erläutert, um alle Dateipfade zu filtern, die dem spezifischen Muster in unserem Artikel übereinstimmen. Dafür haben wir sichergestellt, dass die Java -Umgebung in unserem Linux -Betriebssystem vollständig konfiguriert ist. Wir haben das Java -Beispiel auch mit der DateinameFilter -Schnittstelle erläutert, um ein Filterobjekt zu erstellen, um die spezifischen Dateipfade, die ein Muster enthalten, herauszufiltern. Mit diesem Beispiel haben wir die Textdateien, Java -Dateien und bestimmte Verzeichnisse aus dem Home Working Directory und den anderen Ordnern gefiltert.