


Wie durchsuche ich ein Verzeichnis mit einer bestimmten Dateierweiterung in Java?
Das folgende Beispiel druckt die Namen von PDF-Dateien in einem Verzeichnis basierend auf ihren Erweiterungen -
Beispiel
import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.stream.Stream; public class Demo { public static void main(String[] args) throws IOException { Stream<Path> path = Files.walk(Paths.get("D:\ExampleDirectory")); System.out.println("List of PDF files:"); path = path.filter(var -> var.toString().endsWith(".pdf")); path.forEach(System.out::println); path = Files.walk(Paths.get("D:\ExampleDirectory")); System.out.println("List of JPG files:"); path = path.filter(var -> var.toString().endsWith(".jpg")); path.forEach(System.out::println); path = Files.walk(Paths.get("D:\ExampleDirectory")); System.out.println("List of text files:"); path = path.filter(var -> var.toString().endsWith(".txt")); path.forEach(System.out::println); path = Files.walk(Paths.get("D:\ExampleDirectory")); System.out.println("List of word files:"); path = path.filter(var -> var.toString().endsWith(".docx")); path.forEach(System.out::println); } }
Ausgabe
List of PDF files: D:\ExampleDirectory\demo1.pdf D:\ExampleDirectory\demo2.pdf List of JPG files: D:\ExampleDirectory\sample_jpeg1.jpg D:\ExampleDirectory\sample_jpeg2.jpg List of text files: D:\ExampleDirectory\sample1.txt D:\ExampleDirectory\sample2.txt D:\ExampleDirectory\sample3.txt List of word files: D:\ExampleDirectory\test1.docx D:\ExampleDirectory\test2.docx
Das folgende Beispiel druckt die Namen von PDF-Dateien in einem Verzeichnis basierend auf ihren Erweiterungen -
Beispiel
import java.io.File; import java.io.FilenameFilter; import java.io.IOException; public class MyExample{ public static void main(String args[]) throws IOException { //Creating a File object for directory File directoryPath = new File("D:\ExampleDirectory"); //Creating filter for jpg files FilenameFilter jpgFilefilter = new FilenameFilter(){ public boolean accept(File dir, String name) { String lowercaseName = name.toLowerCase(); if (lowercaseName.endsWith(".pdf")) { return true; } else { return false; } } }; String imageFilesList[] = directoryPath.list(jpgFilefilter); System.out.println("List of the jpeg files in the specified directory:"); for(String fileName : imageFilesList) { System.out.println(fileName); } } }
Ausgabe
List of the jpeg files in the specified directory: demo1.pdf demo2.pdf
Das obige ist der detaillierte Inhalt vonWie durchsuche ich ein Verzeichnis mit einer bestimmten Dateierweiterung in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen





Lazy Loading nur Abfragen beim Zugriff auf Assoziationen kann leicht zu N 1 -Problemen führen, was für Szenarien geeignet ist, in denen die zugehörigen Daten nicht festgelegt sind, ob sie benötigt werden. 2. Notfallbelastung verwendet mit () zum Laden der zugeordneten Daten im Voraus, um N 1 -Abfragen zu vermeiden, was für Stapelverarbeitungsszenarien geeignet ist. 3. Die Notfallbelastung sollte zur Optimierung der Leistung verwendet werden, und n 1 Probleme können durch Tools wie LaravelDebugbar erkannt werden, und das $ mit Attribut des Modells wird sorgfältig verwendet, um unnötige Leistungsaufwand zu vermeiden.

UsearestapitobridgephpandmlmodelsbyrunningThemodelinpythonviaplaskorfastapiandcallingitFrompusingCurlorguzzle.2.RunpythonScriptsDirectlyfrompusexec () orshell_exec () Forsimple, Low-TrafcuStates, und Low-Trafficusecases

Die Speicherverwaltung von Python basiert auf Referenzzählungen und Müllsammlungsmechanismen. 1. Der Referenzzählmechanismus stellt sicher, dass Objekte sofort freigegeben werden, wenn die Referenznummer 0 ist. Der Rückgabewert von sys.getrefCount () ist 1 mehr als die tatsächliche Referenz, weil er seine Referenz selbst erhöht; 2. Kreisförmige Referenzen können nicht durch Referenzzählung gereinigt werden, und es hängt vom Generationsrecycling des GC -Moduls ab. Das Aufrufen von gc.collect () kann unerreichbare Objekte recyceln; 3. In der tatsächlichen Entwicklung sollten die langfristige Haltung großer Objektreferenzen vermieden werden. Wir können schwache Referenzen verwenden, rechtzeitig für den Speicher freigeben und Tracemalloc verwenden, um die Speicherzuweisung zu überwachen. 4. Zusammenfassung: Python kombiniert Referenzzählung und Müllsammlung zum Verwalten von Speicher. Entwickler können Tools verwenden und Referenzrohre optimieren.

Laravel unterstützt die Verwendung nativer SQL -Abfragen, aber die Parameterbindung sollte bevorzugt werden, um die Sicherheit zu gewährleisten. 1. Verwenden Sie db :: select (), um Auswahlabfragen mit Parameterbindung auszuführen, um die SQL -Injektion zu verhindern. 2. Verwenden Sie db :: update (), um Aktualisierungsvorgänge durchzuführen und die Anzahl der betroffenen Zeilen zurückzugeben. 3.. Verwenden Sie db :: Insert (), um Daten einzufinden. 4. Verwenden Sie db :: delete (), um Daten zu löschen; 5. Verwenden Sie db :: Anweisung (), um SQL -Anweisungen ohne Ergebnissätze wie Erstellen, Alter usw. auszuführen; 6. Es wird empfohlen, in QueryBuilder in der Lage zu verwenden, native Ausdrücke zur Verbesserung der Sicherheit zu kombinieren, um die Sicherheit zu verbessern

Responsive Programming implementiert eine hohe Parallelität, nicht blockierende Dienste mit geringer Latenz in Java durch Projecreactor und Springwebflux. 1. ProjectorAtor bietet zwei Kerntypen: Mono und Fluss, unterstützt die deklarative Verarbeitung asynchroner Datenflüsse sowie Konvertiten, Filter und andere Operationen über Operatorketten; 2. Springwebflux basiert auf Reaktor und unterstützt zwei Programmiermodelle: Annotation und Funktion. Es läuft auf nicht blockierenden Servern wie Netty und kann eine große Anzahl von gleichzeitigen Verbindungen effizient verarbeiten. 3. Die Verwendung von WebFlux-Reaktor kann die Parallelitätsfunktion und die Ressourcenauslastung in I/O-intensiven Szenarien verbessern und natürlich SSE und WebSO unterstützt.

Mapstruct ist ein Compile-Time-Codegenerator, mit dem die Zuordnung zwischen JavaBeans vereinfacht wird. 1. Es generiert automatisch Implementierungsklassen, indem Schnittstellen definiert werden, um das manuelle Schreiben von langwierigen Set/Get -Mapping -Code zu vermeiden. 2. Es verfügt über Typ-Safe, keine Laufzeit-Overhead, unterstützt die automatische Zuordnung des gleichen Namens, benutzerdefinierten Ausdrücke, verschachtelten Objekte und Sammelzuordnungen. 3.. Es kann in die Spring integriert werden und verwendet @Mapper (componentModel = "fed"), um Mapper in Springbean zu injizieren. 4. Einfache Konfiguration stellen Sie einfach Mapstrukturabhängigkeiten und AnnotationsprozessorPaths -Einsätze ein

Verwenden Sie die reguläre Expressionsfassungsgruppe in Notepad, um Text effektiv neu zu organisieren. Zunächst müssen Sie das Ersatzdialogfeld (Strg H) öffnen und "Suchmodus" als "regulärer Ausdruck" auswählen, 1. verwenden Sie (), um die Erfassungsgruppe zu definieren, z. B. (\ w), um Wörter zu erfassen. 2. Verwenden Sie \ 1 und \ 2, um die entsprechende Gruppe in der Ersatzbox zu verweisen. 3. Beispiel: tauschen Sie den Namen "Johndoe" als "Doe, John" aus, finden Sie (\ w) \ s (\ w), ersetzen Sie ihn durch \ 2, \ 1; 4. Datumsformatkonvertierung 2023-12-25 bis 25/12/2023, find (\ d {4})-(\ d {2})-(\ d {2}), ersetzen Sie es durch \ 3/\ 2/\ 1; 5. Log -Neuordnung kann Zeit, Ebene, ID und andere Informationen extrahieren

UseefficienceDatastructuresLikearrayListoverlinkedListandPrimitiveCollectionSteoredueverhead; 2.MinimizeObjectcreationByReusesObjects, usingStringBuilderForCatenation und CachingExPensiveObjects; 3.preventMemorySyNullidingReferences verwendet
