Java - Konverter fil til InputStream

1. Oversikt

I denne raske opplæringen skal vi vise hvordan du gjør det konvertere en Fil til en InputStream- Først bruker du vanlig Java og deretter Guava og Apache Commons IO-biblioteket.

Denne artikkelen er en del avJava - Tilbake til Basic”-Serien her på Baeldung.

2. Konverter ved hjelp av Java

Vi kan bruke IO-pakken med java til å konvertere en Fil til forskjellige InputStreams.

2.1. FileInputStream

La oss starte med den første og enkleste - ved hjelp av en FileInputStream:

@Test offentlig ugyldighet givenUsingPlainJava_whenConvertingFileToInputStream_thenCorrect () kaster IOException {File initialFile = new File ("src / main / resources / sample.txt"); InputStream targetStream = ny FileInputStream (initialFile); }

2.2. DataInputStream

La oss se på en annen, der vi kan bruk DataInputStream for å lese binære eller primitive data fra en fil:

@Test offentlig endelig ugyldighet givenUsingPlainJava_whenConvertingFileToDataInputStream_thenCorrect () kaster IOException {final File initialFile = ny fil ("src / test / resources / sample.txt"); endelig InputStream targetStream = ny DataInputStream (ny FileInputStream (initialFile)); }

2.3. SequenceInputStream

Til slutt, la oss også se på hvordan bruk SequenceInputStream for å sammenkoble inngangsstrømmen av to filer til en enkelt InputStream:

@Test offentlig endelig ugyldighet givenUsingPlainJava_whenConvertingFileToSequenceInputStream_thenCorrect () kaster IOException {final File initialFile = ny fil ("src / test / resources / sample.txt"); endelig fil AnotherFile = ny fil ("src / test / resources / anothersample.txt"); endelig InputStream targetStream = ny FileInputStream (initialFile); endelig InputStream anotherTargetStream = ny FileInputStream (anotherFile); InputStream sequenceTargetStream = ny SequenceInputStream (targetStream, anotherTargetStream); }

Merk at vi ikke lukker den resulterende strømmen i disse eksemplene for lesbarhet.

3. Konverter ved hjelp av Guava

Neste - la oss se Guava-løsningen, bruker et mellomledd ByteSource:

@Test offentlig ugyldighet givenUsingGuava_whenConvertingFileToInputStream_thenCorrect () kaster IOException {File initialFile = new File ("src / main / resources / sample.txt"); InputStream targetStream = Files.asByteSource (initialFile) .openStream (); }

4. Konverter ved hjelp av Commons IO

Til slutt - la oss se på en løsning ved hjelp av Apache Commons IO:

@Test offentlig ugyldighet givenUsingCommonsIO_whenConvertingFileToInputStream_thenCorrect () kaster IOException {File initialFile = new File ("src / main / resources / sample.txt"); InputStream targetStream = FileUtils.openInputStream (initialFile); }

Og der har du det - 3 enkle og rene løsninger for å åpne en stream fra en Java-fil.

5. Konklusjon

I denne artikkelen undersøkte vi forskjellige måter å konvertere en Fil til InputStream ved å bruke forskjellige biblioteker.

Implementeringen av alle disse eksemplene og kodebitene finner du på GitHub - dette er et Maven-basert prosjekt, så det skal være enkelt å importere og kjøre som det er.


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