Ich habe einen Trace-Code für Datei-E/A in Java 6 geschrieben und versucht, den neuen E/A in Java 7 zu verschieben, aber ich finde keinen Ersatz für diese Art von Zeug.Wie ersetzt man File.listFiles (FileFilter-Filter) durch nio in Java 7?
File[] files = dir.listFiles(AudioFileFilter.getInstance());
nämlich keine Möglichkeit, Pfade nur Dateien zu filtern, und es gibt Liste der Dateien, damit ich dann jede Datei in Pfad umwandeln müssen (file.toPath), wenn ich die Verwendung von Datei in Methoden begrenzen wollte Es ruft an, was ziemlich mühsam erscheint.
Ich habe mir FileVisitor angeschaut, aber das scheint Ihnen nicht zu erlauben zu kontrollieren, wie der Baum durchquert wird, also glaube ich nicht, dass es für mich funktionieren wird.
Wie viel von einem Ersatz ist Pfad für Datei in Java 7?
ah das verpasste mich vorbei, danke. –
Obwohl, wenn Sie die Liste der Dateien an eine andere Methode übergeben möchten (was ich tun die Dateien in einem anderen Thread verarbeitet werden) bit chaotisch, dass Sie die Dateien iterieren und sie zu einer Liste hinzufügen –
Statt eine Liste übergeben Sie könnten Übergeben Sie den Stream einfach an die andere Methode. Natürlich abhängig davon, ob Sie den Parametertyp der Methode kontrollieren. Wenn nicht, haben Sie absolut Recht, es macht nicht viel Sinn, eine Listenstruktur zu iterieren, nur um den Inhalt einer anderen Listenstruktur hinzuzufügen. – Silwing