Liest alle Zeilen von FileChannel nach Stream von Strings

8

Für meine spezielle Aufgabe muss ich die Daten von FileChannel zu einem Stream (oder Collection ) von String lesen.

In einer normalen NIO für eine Path können wir eine bequeme Methode Files.lines(...) verwenden, die eine Stream<String> zurückgibt. Ich brauche ein gleiches Ergebnis, aber von FileChannel anstelle von Path :

%Vor%

Irgendwelche Ideen, wie man das macht?

    
Yuriy Yunikov 14.06.2017, 12:33
quelle

1 Antwort

8

Ich nehme an, Sie möchten, dass der Kanal geschlossen wird, wenn die zurückgegebene Stream geschlossen ist, also wäre der einfachste Ansatz

%Vor%

Es wird nicht wirklich ein FileChannel als Eingabe benötigt, ein ReadableByteChannel ist ausreichend.

Beachten Sie, dass dies auch zu "regulär NIO" gehört; java.nio.file wird manchmal als "NIO.2" bezeichnet.

    
Holger 14.06.2017, 12:44
quelle

Tags und Links