Java - prevod súboru na InputStream

1. Prehľad

V tomto rýchlom výučbe si ukážeme, ako na to konvertovať a Súbor do an InputStream- najskôr pomocou obyčajnej Javy a potom Guavy a knižnice Apache Commons IO.

Tento článok je súčasťou „Java - späť na základné”Séria tu na Baeldungu.

2. Konverzia pomocou Javy

Môžeme použiť IO balík java na prevod a Súbor na rôzne InputStreams.

2.1. FileInputStream

Začnime prvým a najjednoduchší - pomocou a FileInputStream:

@ Test public void givenUsingPlainJava_whenConvertingFileToInputStream_thenCorrect () vyvolá IOException {File initialFile = new File ("src / main / resources / sample.txt"); InputStream targetStream = nový FileInputStream (initialFile); }

2.2. DataInputStream

Pozrime sa na inú, kde môžeme použitie DataInputStream na čítanie binárnych alebo primitívnych údajov zo súboru:

@Test public final void givenUsingPlainJava_whenConvertingFileToDataInputStream_thenCorrect () vyvolá IOException {final File initialFile = new File ("src / test / resources / sample.txt"); konečný InputStream targetStream = nový DataInputStream (nový FileInputStream (initialFile)); }

2.3. SequenceInputStream

Nakoniec sa pozrime aj na to, ako na to použitie SequenceInputStream spojiť vstupný prúd dvoch súborov do jedného InputStream:

@Test public final void givenUsingPlainJava_whenConvertingFileToSequenceInputStream_thenCorrect () hodí IOException {final File initialFile = new File ("src / test / resources / sample.txt"); konečný súbor anotherFile = nový súbor ("src / test / resources / anothersample.txt"); konečný InputStream targetStream = nový FileInputStream (initialFile); konečný InputStream anotherTargetStream = nový FileInputStream (anotherFile); InputStream sequenceTargetStream = nový SequenceInputStream (targetStream, anotherTargetStream); }

Upozorňujeme, že výsledný prúd v týchto príkladoch kvôli čitateľnosti neuzatvárame.

3. Konvertujte pomocou Guavy

Ďalej - pozrime sa riešenie Guavapomocou sprostredkovateľa ByteSource:

@ Test public void givenUsingGuava_whenConvertingFileToInputStream_thenCorrect () vyvolá IOException {File initialFile = new File ("src / main / resources / sample.txt"); InputStream targetStream = Files.asByteSource (initialFile) .openStream (); }

4. Prevod pomocou Commons IO

Na záver - pozrime sa na riešenie pomocou Apache Commons IO:

@ Test public void givenUsingCommonsIO_whenConvertingFileToInputStream_thenCorrect () vyvolá IOException {File initialFile = new File ("src / main / resources / sample.txt"); InputStream targetStream = FileUtils.openInputStream (initialFile); }

A tu to máte - 3 jednoduché a čisté riešenia na otvorenie streamu zo súboru Java.

5. Záver

V tomto článku sme skúmali rôzne spôsoby, ako previesť a Súbor do InputStream pomocou rôznych knižníc.

Implementáciu všetkých týchto príkladov a útržkov kódu nájdete na serveri GitHub - jedná sa o projekt založený na Maven, takže by malo byť ľahké ho importovať a spustiť tak, ako je.


$config[zx-auto] not found$config[zx-overlay] not found