Gibt es eine einfache Möglichkeit, einen Java InputStream zu erstellen, der aus mehreren angehängten Dateien besteht?

7

Ich habe eine "Prozessor" -Komponente, die eine einzelne Datei, InputStream, Reader usw. verarbeiten kann.

Aus verschiedenen Gründen habe ich am Ende mehrere große Dateien statt einer großen Datei.

Gibt es eine Möglichkeit, einen Eingabestream (oder Leser) zu erstellen, der: alle diese Dateien transparent "anhängt", so dass: 1) Der "Prozessor" weiß nicht, wo eine Datei begonnen oder eine andere beendet wurde 2) Im Dateisystem treten keine Änderungen auf (z. B. kein tatsächliches Anhängen von Dateien) 3) Jede Datei wird der Reihe nach gelesen, so dass ich nicht die Kosten für das Laden aller von ihnen in den Speicher und das Anhängen dieser Dateien bezahle, bevor der Prozessor das Lesen beginnt?

Ich bin mir sicher, dass es möglich ist, so etwas zu schreiben, aber ich frage mich, ob es schon eines gibt; Es ist eine Weile her, seit ich dateibasiertes IO gemacht habe.

    
Uri 04.06.2009, 19:34
quelle

2 Antworten

19

SequenceInputStream verkettet mehrere Streams.

%Vor%

Ausnahmebehandlung (nicht gezeigt) beim Öffnen jeder Datei ist wichtig; Stellen Sie sicher, dass alle Dateien sicher geschlossen werden, selbst wenn der Vorgang abgebrochen wird, bevor SequenceInputStream erstellt wurde.

    
erickson 04.06.2009, 19:35
quelle
4

Sie können etwas wie SequenceInputStream verwenden, um eins zu lesen Strom nach dem anderen.

    
z - 04.06.2009 19:37
quelle

Tags und Links