Java - Pretvori datoteku u InputStream

1. Pregled

U ovom brzom vodiču pokazat ćemo kako pretvoriti a Datoteka do an InputStream- prvo koristeći običnu Javu, a zatim Guavu i Apache Commons IO knjižnicu.

Ovaj je članak dio „Java - Povratak na Basic”Serija ovdje na Baeldungu.

2. Pretvori pomoću Jave

Možemo koristiti IO paket Java za pretvorbu a Datoteka različitim InputStreams.

2.1. FileInputStream

Krenimo s prvim i najjednostavniji - pomoću a FileInputStream:

@Test javna praznina givenUsingPlainJava_whenConvertingFileToInputStream_thenCorrect () baca IOException {File InitialFile = nova datoteka ("src / main / resources / sample.txt"); InputStream targetStream = novi FileInputStream (InitialFile); }

2.2. DataInputStream

Pogledajmo još jedan, gdje možemo koristiti DataInputStream za čitanje binarnih ili primitivnih podataka iz datoteke:

@Test javna konačna praznina givenUsingPlainJava_whenConvertingFileToDataInputStream_thenCorrect () baca IOException {final File InitiFile = new File ("src / test / resources / sample.txt"); konačni InputStream targetStream = novi DataInputStream (novi FileInputStream (InitialFile)); }

2.3. SequenceInputStream

Napokon, pogledajmo i kako koristiti SequenceInputStream za spajanje ulaznog toka dviju datoteka u jednu InputStream:

@Test javna konačna praznina givenUsingPlainJava_whenConvertingFileToSequenceInputStream_thenCorrect () baca IOException {final File InitiFile = nova datoteka ("src / test / resources / sample.txt"); konačna datoteka anotherFile = nova datoteka ("src / test / resources / anothersample.txt"); konačni InputStream targetStream = novi FileInputStream (InitialFile); konačni InputStream anotherTargetStream = novi FileInputStream (anotherFile); InputStream sequenceTargetStream = novi SequenceInputStream (targetStream, anotherTargetStream); }

Imajte na umu da rezultirajući tok u ovim primjerima ne zatvaramo zbog čitljivosti.

3. Pretvorite pomoću Guave

Dalje - da vidimo rješenje Guava, koristeći posrednika ByteSource:

@Test javna praznina givenUsingGuava_whenConvertingFileToInputStream_thenCorrect () baca IOException {File InitialFile = nova datoteka ("src / main / resources / sample.txt"); InputStream targetStream = Files.asByteSource (initialFile) .openStream (); }

4. Pretvori koristeći Commons IO

Napokon - pogledajmo rješenje pomoću Apache Commons IO:

@Test javna praznina givenUsingCommonsIO_whenConvertingFileToInputStream_thenCorrect () baca IOException {File InitialFile = nova datoteka ("src / main / resources / sample.txt"); InputStream targetStream = FileUtils.openInputStream (InitialFile); }

I eto vam - 3 jednostavna i čista rješenja za otvaranje streama iz Java datoteke.

5. Zaključak

U ovom smo članku istražili razne načine kako pretvoriti Datoteka do InputStream korištenjem različitih knjižnica.

Provedbu svih ovih primjera i isječaka koda možete pronaći na GitHub-u - ovo je projekt zasnovan na Mavenu, pa bi ga trebalo lako uvesti i pokrenuti kakav jest.