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.