From df3b2605e33d8b426c67946e010b1c35ff027f44 Mon Sep 17 00:00:00 2001 From: eugenp Date: Sat, 21 Jun 2014 18:31:20 +0300 Subject: [PATCH] file conversion work --- core-java/src/main/resources/targetFile.tmp | 2 + .../java/io/JavaInputStreamToXUnitTest.java | 43 +++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 core-java/src/main/resources/targetFile.tmp diff --git a/core-java/src/main/resources/targetFile.tmp b/core-java/src/main/resources/targetFile.tmp new file mode 100644 index 0000000000..20f137b416 --- /dev/null +++ b/core-java/src/main/resources/targetFile.tmp @@ -0,0 +1,2 @@ +line 1 +a second line \ No newline at end of file diff --git a/core-java/src/test/java/org/baeldung/java/io/JavaInputStreamToXUnitTest.java b/core-java/src/test/java/org/baeldung/java/io/JavaInputStreamToXUnitTest.java index eb1215fdc6..7247ab1eb9 100644 --- a/core-java/src/test/java/org/baeldung/java/io/JavaInputStreamToXUnitTest.java +++ b/core-java/src/test/java/org/baeldung/java/io/JavaInputStreamToXUnitTest.java @@ -7,15 +7,20 @@ import static org.junit.Assert.assertThat; import java.io.BufferedReader; import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; +import java.io.OutputStream; import java.io.Reader; import java.io.StringWriter; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.util.Scanner; +import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import org.junit.Test; import org.slf4j.Logger; @@ -25,6 +30,7 @@ import com.google.common.base.Charsets; import com.google.common.io.ByteSource; import com.google.common.io.ByteStreams; import com.google.common.io.CharStreams; +import com.google.common.io.Files; import com.google.common.io.InputSupplier; @SuppressWarnings("unused") @@ -140,4 +146,41 @@ public class JavaInputStreamToXUnitTest { final byte[] targetArray = IOUtils.toByteArray(initialStream); } + // tests - InputStream to File + + @Test + public final void givenUsingPlainJava_whenConvertingAnInputStreamToAFile_thenCorrect() throws IOException { + final InputStream initialStream = new FileInputStream(new File("src/main/resources/sample.txt")); + final byte[] buffer = new byte[initialStream.available()]; + initialStream.read(buffer); + + final File targetFile = new File("src/main/resources/targetFile.tmp"); + final OutputStream outStream = new FileOutputStream(targetFile); + outStream.write(buffer); + + IOUtils.closeQuietly(initialStream); + IOUtils.closeQuietly(outStream); + } + + @Test + public final void givenUsingGuava_whenConvertingAnInputStreamToAFile_thenCorrect() throws IOException { + final InputStream initialStream = new FileInputStream(new File("src/main/resources/sample.txt")); + final byte[] buffer = new byte[initialStream.available()]; + initialStream.read(buffer); + + final File targetFile = new File("src/main/resources/targetFile.tmp"); + Files.write(buffer, targetFile); + + IOUtils.closeQuietly(initialStream); + } + + @Test + public final void givenUsingCommonsIO_whenConvertingAnInputStreamToAFile_thenCorrect() throws IOException { + final InputStream initialStream = FileUtils.openInputStream(new File("src/main/resources/sample.txt")); + + final File targetFile = new File("src/main/resources/targetFile.tmp"); + + FileUtils.copyInputStreamToFile(initialStream, targetFile); + } + }