diff --git a/libraries/pom.xml b/libraries/pom.xml
index a655f5267a..795f255f36 100644
--- a/libraries/pom.xml
+++ b/libraries/pom.xml
@@ -1,497 +1,497 @@
-
- parent-modules
- com.baeldung
- 1.0.0-SNAPSHOT
-
- 4.0.0
- libraries
- libraries
-
-
-
- org.apache.maven.plugins
- maven-dependency-plugin
-
-
- org.apache.felix
- maven-bundle-plugin
- 3.3.0
- maven-plugin
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ parent-modules
+ com.baeldung
+ 1.0.0-SNAPSHOT
+
+ 4.0.0
+ libraries
+ libraries
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ org.apache.felix
+ maven-bundle-plugin
+ 3.3.0
+ maven-plugin
-
-
- true
-
-
- maven-failsafe-plugin
- 2.20
-
-
- chromedriver
-
-
-
-
- net.serenity-bdd.maven.plugins
- serenity-maven-plugin
- ${serenity.plugin.version}
-
-
- serenity-reports
- post-integration-test
-
- aggregate
-
-
-
-
-
-
- org.datanucleus
- datanucleus-maven-plugin
- 5.0.2
-
- JDO
- ${basedir}/datanucleus.properties
- ${basedir}/log4j.properties
- true
- false
-
-
-
-
- process-classes
-
- enhance
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-jar-plugin
- 3.0.2
-
-
- **/log4j.properties
-
-
-
- com.baeldung.neuroph.NeurophXOR
-
-
-
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
- 2.18.1
-
-
- test
- test
-
- test
-
-
-
- test/java/com/baeldung/neuroph/XORTest.java
-
-
-
-
-
-
-
-
-
-
-
- org.beykery
- neuroph
- ${neuroph.version}
-
-
-
- cglib
- cglib
- ${cglib.version}
-
-
- commons-beanutils
- commons-beanutils
- ${commons-beanutils.version}
-
-
- org.apache.commons
- commons-lang3
- ${commons-lang.version}
-
-
- org.apache.commons
- commons-text
- ${commons-text.version}
-
-
- org.apache.commons
- commons-collections4
- ${commons.collections.version}
-
-
- org.jasypt
- jasypt
- ${jasypt.version}
-
-
- org.javatuples
- javatuples
- ${javatuples.version}
-
-
- org.javassist
- javassist
- ${javaassist.version}
-
-
-
- org.assertj
- assertj-core
- ${assertj.version}
-
-
- org.skyscreamer
- jsonassert
- ${jsonassert.version}
-
-
- org.javers
- javers-core
- ${javers.version}
-
-
- org.eclipse.jetty
- jetty-server
- ${jetty.version}
-
-
- org.eclipse.jetty
- jetty-servlet
- ${jetty.version}
-
-
- org.apache.httpcomponents
- httpclient
- ${httpclient.version}
-
-
- commons-logging
- commons-logging
-
-
-
-
- commons-io
- commons-io
- ${commons.io.version}
-
-
- commons-chain
- commons-chain
- ${commons-chain.version}
-
-
- commons-dbutils
- commons-dbutils
- ${commons.dbutils.version}
-
-
- org.apache.flink
- flink-core
- ${flink.version}
-
-
- commons-logging
- commons-logging
-
-
-
-
- org.apache.flink
- flink-java
- ${flink.version}
-
-
- commons-logging
- commons-logging
-
-
-
-
- org.apache.flink
- flink-test-utils_2.10
- ${flink.version}
- test
-
-
- org.apache.commons
- commons-math3
- 3.6.1
-
-
- net.serenity-bdd
- serenity-core
- ${serenity.version}
- test
-
-
- net.serenity-bdd
- serenity-junit
- ${serenity.version}
- test
-
-
- net.serenity-bdd
- serenity-jbehave
- ${serenity.jbehave.version}
- test
-
-
- net.serenity-bdd
- serenity-rest-assured
- ${serenity.version}
- test
-
-
- net.serenity-bdd
- serenity-jira-requirements-provider
- ${serenity.jira.version}
- test
-
-
- com.fasterxml.jackson.core
- jackson-databind
- ${jackson.version}
-
-
-
- org.datanucleus
- javax.jdo
- 3.2.0-m6
-
-
- org.datanucleus
- datanucleus-core
- 5.1.0-m1
-
-
- org.datanucleus
- datanucleus-api-jdo
- 5.1.0-m1
-
-
- org.datanucleus
- datanucleus-rdbms
- 5.1.0-m1
-
-
- org.datanucleus
- datanucleus-maven-plugin
- 5.0.2
-
-
- org.datanucleus
- datanucleus-xml
- 5.0.0-release
-
-
- net.openhft
- chronicle
- 3.6.4
-
-
- org.springframework
- spring-web
- 4.3.8.RELEASE
-
-
- net.serenity-bdd
- serenity-spring
- ${serenity.version}
- test
-
-
- net.serenity-bdd
- serenity-screenplay
- ${serenity.version}
- test
-
-
- net.serenity-bdd
- serenity-screenplay-webdriver
- ${serenity.version}
- test
-
-
- io.rest-assured
- spring-mock-mvc
- 3.0.3
- test
-
-
- org.multiverse
- multiverse-core
- ${multiverse.version}
-
-
- com.zaxxer
- HikariCP
- 2.6.1
- compile
-
-
- com.h2database
- h2
- ${h2.version}
-
-
- pl.pragmatists
- JUnitParams
- ${jUnitParams.version}
- test
-
-
- org.quartz-scheduler
- quartz
- 2.3.0
-
-
- one.util
- streamex
- 0.6.5
-
-
- org.jooq
- jool
- 0.9.12
-
-
- org.openjdk.jmh
- jmh-core
- 1.19
-
-
- org.openjdk.jmh
- jmh-generator-annprocess
- 1.19
-
-
- io.netty
- netty-all
- ${netty.version}
-
-
- junit
- junit
- ${junit.version}
- test
-
-
- info.debatty
- java-lsh
- ${java-lsh.version}
-
-
- au.com.dius
- pact-jvm-consumer-junit_2.11
- ${pact.version}
- test
-
-
- org.codehaus.groovy
- groovy-all
- 2.4.10
-
-
- org.awaitility
- awaitility
- ${awaitility.version}
- test
-
-
- org.awaitility
- awaitility-proxy
- ${awaitility.version}
- test
-
-
- org.hamcrest
- java-hamcrest
- ${org.hamcrest.java-hamcrest.version}
- test
-
-
- net.agkn
- hll
- ${hll.version}
-
-
- net.bytebuddy
- byte-buddy
- ${bytebuddy.version}
-
-
- net.bytebuddy
- byte-buddy-agent
- ${bytebuddy.version}
-
-
- org.pcollections
- pcollections
- ${pcollections.version}
-
-
-
- 0.7.0
- 3.2.4
- 3.5
- 1.1
- 1.9.3
- 1.2
- 1.9.2
- 1.2
- 3.21.0-GA
- 3.6.2
- 1.5.0
- 3.1.0
- 9.4.3.v20170317
- 4.5.3
- 2.5
- 1.6
- 1.4.196
- 9.4.2.v20170220
- 4.5.3
- 2.5
- 1.2.0
- 2.8.5
- 2.92
- 1.4.0
- 1.24.0
- 1.1.3-rc.5
- 1.4.0
- 1.1.0
- 4.1.10.Final
- 4.1
- 4.12
- 0.10
- 3.5.0
- 3.0.0
- 2.0.0.0
- 1.6.0
- 1.7.1
- 2.1.2
-
+
+
+ true
+
+
+ maven-failsafe-plugin
+ 2.20
+
+
+ chromedriver
+
+
+
+
+ net.serenity-bdd.maven.plugins
+ serenity-maven-plugin
+ ${serenity.plugin.version}
+
+
+ serenity-reports
+ post-integration-test
+
+ aggregate
+
+
+
+
+
+
+ org.datanucleus
+ datanucleus-maven-plugin
+ 5.0.2
+
+ JDO
+ ${basedir}/datanucleus.properties
+ ${basedir}/log4j.properties
+ true
+ false
+
+
+
+
+ process-classes
+
+ enhance
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 3.0.2
+
+
+ **/log4j.properties
+
+
+
+ com.baeldung.neuroph.NeurophXOR
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 2.18.1
+
+
+ test
+ test
+
+ test
+
+
+
+ test/java/com/baeldung/neuroph/XORTest.java
+
+
+
+
+
+
+
+
+
+
+
+ org.beykery
+ neuroph
+ ${neuroph.version}
+
+
+
+ cglib
+ cglib
+ ${cglib.version}
+
+
+ commons-beanutils
+ commons-beanutils
+ ${commons-beanutils.version}
+
+
+ org.apache.commons
+ commons-lang3
+ ${commons-lang.version}
+
+
+ org.apache.commons
+ commons-text
+ ${commons-text.version}
+
+
+ org.apache.commons
+ commons-collections4
+ ${commons.collections.version}
+
+
+ org.jasypt
+ jasypt
+ ${jasypt.version}
+
+
+ org.javatuples
+ javatuples
+ ${javatuples.version}
+
+
+ org.javassist
+ javassist
+ ${javaassist.version}
+
+
+
+ org.assertj
+ assertj-core
+ ${assertj.version}
+
+
+ org.skyscreamer
+ jsonassert
+ ${jsonassert.version}
+
+
+ org.javers
+ javers-core
+ ${javers.version}
+
+
+ org.eclipse.jetty
+ jetty-server
+ ${jetty.version}
+
+
+ org.eclipse.jetty
+ jetty-servlet
+ ${jetty.version}
+
+
+ org.apache.httpcomponents
+ httpclient
+ ${httpclient.version}
+
+
+ commons-logging
+ commons-logging
+
+
+
+
+ commons-io
+ commons-io
+ ${commons.io.version}
+
+
+ commons-chain
+ commons-chain
+ ${commons-chain.version}
+
+
+ commons-dbutils
+ commons-dbutils
+ ${commons.dbutils.version}
+
+
+ org.apache.flink
+ flink-core
+ ${flink.version}
+
+
+ commons-logging
+ commons-logging
+
+
+
+
+ org.apache.flink
+ flink-java
+ ${flink.version}
+
+
+ commons-logging
+ commons-logging
+
+
+
+
+ org.apache.flink
+ flink-test-utils_2.10
+ ${flink.version}
+ test
+
+
+ org.apache.commons
+ commons-math3
+ 3.6.1
+
+
+ net.serenity-bdd
+ serenity-core
+ ${serenity.version}
+ test
+
+
+ net.serenity-bdd
+ serenity-junit
+ ${serenity.version}
+ test
+
+
+ net.serenity-bdd
+ serenity-jbehave
+ ${serenity.jbehave.version}
+ test
+
+
+ net.serenity-bdd
+ serenity-rest-assured
+ ${serenity.version}
+ test
+
+
+ net.serenity-bdd
+ serenity-jira-requirements-provider
+ ${serenity.jira.version}
+ test
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ ${jackson.version}
+
+
+
+ org.datanucleus
+ javax.jdo
+ 3.2.0-m6
+
+
+ org.datanucleus
+ datanucleus-core
+ 5.1.0-m1
+
+
+ org.datanucleus
+ datanucleus-api-jdo
+ 5.1.0-m1
+
+
+ org.datanucleus
+ datanucleus-rdbms
+ 5.1.0-m1
+
+
+ org.datanucleus
+ datanucleus-maven-plugin
+ 5.0.2
+
+
+ org.datanucleus
+ datanucleus-xml
+ 5.0.0-release
+
+
+ net.openhft
+ chronicle
+ 3.6.4
+
+
+ org.springframework
+ spring-web
+ 4.3.8.RELEASE
+
+
+ net.serenity-bdd
+ serenity-spring
+ ${serenity.version}
+ test
+
+
+ net.serenity-bdd
+ serenity-screenplay
+ ${serenity.version}
+ test
+
+
+ net.serenity-bdd
+ serenity-screenplay-webdriver
+ ${serenity.version}
+ test
+
+
+ io.rest-assured
+ spring-mock-mvc
+ 3.0.3
+ test
+
+
+ org.multiverse
+ multiverse-core
+ ${multiverse.version}
+
+
+ com.zaxxer
+ HikariCP
+ 2.6.1
+ compile
+
+
+ com.h2database
+ h2
+ ${h2.version}
+
+
+ pl.pragmatists
+ JUnitParams
+ ${jUnitParams.version}
+ test
+
+
+ org.quartz-scheduler
+ quartz
+ 2.3.0
+
+
+ one.util
+ streamex
+ 0.6.5
+
+
+ org.jooq
+ jool
+ 0.9.12
+
+
+ org.openjdk.jmh
+ jmh-core
+ 1.19
+
+
+ org.openjdk.jmh
+ jmh-generator-annprocess
+ 1.19
+
+
+ io.netty
+ netty-all
+ ${netty.version}
+
+
+ junit
+ junit
+ ${junit.version}
+ test
+
+
+ info.debatty
+ java-lsh
+ ${java-lsh.version}
+
+
+ au.com.dius
+ pact-jvm-consumer-junit_2.11
+ ${pact.version}
+ test
+
+
+ org.codehaus.groovy
+ groovy-all
+ 2.4.10
+
+
+ org.awaitility
+ awaitility
+ ${awaitility.version}
+ test
+
+
+ org.awaitility
+ awaitility-proxy
+ ${awaitility.version}
+ test
+
+
+ org.hamcrest
+ java-hamcrest
+ ${org.hamcrest.java-hamcrest.version}
+ test
+
+
+ net.agkn
+ hll
+ ${hll.version}
+
+
+ net.bytebuddy
+ byte-buddy
+ ${bytebuddy.version}
+
+
+ net.bytebuddy
+ byte-buddy-agent
+ ${bytebuddy.version}
+
+
+ org.pcollections
+ pcollections
+ ${pcollections.version}
+
+
+
+ 0.7.0
+ 3.2.4
+ 3.5
+ 1.1
+ 1.9.3
+ 1.2
+ 1.9.2
+ 1.2
+ 3.21.0-GA
+ 3.6.2
+ 1.5.0
+ 3.1.0
+ 9.4.3.v20170317
+ 4.5.3
+ 2.5
+ 1.6
+ 1.4.196
+ 9.4.2.v20170220
+ 4.5.3
+ 2.5
+ 1.2.0
+ 2.8.5
+ 2.92
+ 1.4.0
+ 1.24.0
+ 1.1.3-rc.5
+ 1.4.0
+ 1.1.0
+ 4.1.10.Final
+ 4.1
+ 4.12
+ 0.10
+ 3.5.0
+ 3.0.0
+ 2.0.0.0
+ 1.6.0
+ 1.7.1
+ 2.1.2
+
diff --git a/spring-core/pom.xml b/spring-core/pom.xml
index 85cf4573aa..deffaf41db 100644
--- a/spring-core/pom.xml
+++ b/spring-core/pom.xml
@@ -1,141 +1,147 @@
+ xmlns="http://maven.apache.org/POM/4.0.0"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- 4.0.0
+ 4.0.0
- com.baeldung
- spring-core
- 0.0.1-SNAPSHOT
- war
+ com.baeldung
+ spring-core
+ 0.0.1-SNAPSHOT
+ war
- spring-core
+ spring-core
-
- com.baeldung
- parent-modules
- 1.0.0-SNAPSHOT
-
+
+ com.baeldung
+ parent-modules
+ 1.0.0-SNAPSHOT
+
-
-
- org.mockito
- mockito-all
- ${mockito.version}
-
-
- org.springframework
- spring-test
- ${spring.version}
-
-
- org.springframework
- spring-core
- ${spring.version}
-
-
- org.springframework
- spring-beans
- ${spring.version}
-
-
- org.springframework
- spring-context
- ${spring.version}
-
-
- javax.inject
- javax.inject
- ${javax.inject.version}
-
-
- com.google.guava
- guava
- ${guava.version}
-
-
- org.projectlombok
- lombok
- ${lombok.version}
-
-
- org.springframework.boot
- spring-boot-starter
- 1.5.2.RELEASE
-
-
- org.springframework.boot
- spring-boot-test
- ${mockito.spring.boot.version}
- test
-
-
+
+
+ org.mockito
+ mockito-all
+ ${mockito.version}
+
+
+ org.springframework
+ spring-test
+ ${spring.version}
+
+
+ org.springframework
+ spring-core
+ ${spring.version}
+
+
+ org.springframework
+ spring-beans
+ ${spring.version}
+
+
+ org.springframework
+ spring-context
+ ${spring.version}
+
+
+ javax.inject
+ javax.inject
+ ${javax.inject.version}
+
+
+ com.google.guava
+ guava
+ ${guava.version}
+
+
+ org.projectlombok
+ lombok
+ ${lombok.version}
+
+
+ org.springframework.boot
+ spring-boot-starter
+ 1.5.2.RELEASE
+
+
+ org.springframework.boot
+ spring-boot-test
+ ${mockito.spring.boot.version}
+ test
+
+
+ commons-io
+ commons-io
+ ${commons.io.version}
+
+
-
-
-
- org.apache.maven.plugins
- maven-war-plugin
- ${maven-war-plugin.version}
-
- false
-
-
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven-war-plugin.version}
+
+ false
+
+
-
+
-
+
-
-
- integration
-
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
-
-
- integration-test
-
- test
-
-
-
- **/*LiveTest.java
-
-
- **/*IntegrationTest.java
-
-
-
-
-
-
- json
-
-
-
-
-
-
-
+
+
+ integration
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+ integration-test
+
+ test
+
+
+
+ **/*LiveTest.java
+
+
+ **/*IntegrationTest.java
+
+
+
+
+
+
+ json
+
+
+
+
+
+
+
-
- 1.10.19
- 1.4.4.RELEASE
- 4.3.4.RELEASE
- 1
- 20.0
- 2.6
- 1.16.12
-
+
+ 1.10.19
+ 1.4.4.RELEASE
+ 4.3.4.RELEASE
+ 1
+ 20.0
+ 2.6
+ 1.16.12
+ 2.5
+
-
-
- java.net
- https://maven.java.net/content/repositories/releases/
-
-
+
+
+ java.net
+ https://maven.java.net/content/repositories/releases/
+
+
-
+
\ No newline at end of file
diff --git a/spring-core/src/main/java/com/baeldung/streamutils/CopyStream.java b/spring-core/src/main/java/com/baeldung/streamutils/CopyStream.java
new file mode 100644
index 0000000000..d9097188b3
--- /dev/null
+++ b/spring-core/src/main/java/com/baeldung/streamutils/CopyStream.java
@@ -0,0 +1,22 @@
+package com.baeldung.streamutils;
+
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.StringWriter;
+
+import org.apache.commons.io.IOUtils;
+import org.springframework.util.StreamUtils;
+
+public class CopyStream {
+ public static String getStringFromInputStream(InputStream input) throws IOException {
+ StringWriter writer = new StringWriter();
+ IOUtils.copy(input, writer, "UTF-8");
+ return writer.toString();
+ }
+
+ public InputStream getNonClosingInputStream() throws IOException {
+ InputStream in = new FileInputStream("src/test/resources/input.txt");
+ return StreamUtils.nonClosing(in);
+ }
+}
diff --git a/spring-core/src/main/java/com/baeldung/streamutils/DrainStream.java b/spring-core/src/main/java/com/baeldung/streamutils/DrainStream.java
new file mode 100644
index 0000000000..1ce67a075a
--- /dev/null
+++ b/spring-core/src/main/java/com/baeldung/streamutils/DrainStream.java
@@ -0,0 +1,11 @@
+package com.baeldung.streamutils;
+
+import java.io.InputStream;
+
+import org.springframework.util.StreamUtils;
+
+public class DrainStream {
+ public InputStream getInputStream() {
+ return StreamUtils.emptyInput();
+ }
+}
diff --git a/spring-core/src/test/java/com/baeldung/streamutils/CopyStreamTest.java b/spring-core/src/test/java/com/baeldung/streamutils/CopyStreamTest.java
new file mode 100644
index 0000000000..9fe2f00a77
--- /dev/null
+++ b/spring-core/src/test/java/com/baeldung/streamutils/CopyStreamTest.java
@@ -0,0 +1,100 @@
+package com.baeldung.streamutils;
+
+import static org.junit.Assert.assertTrue;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+
+import static org.junit.Assert.assertEquals;
+import org.junit.Test;
+import org.springframework.util.StreamUtils;
+
+import static com.baeldung.streamutils.CopyStream.getStringFromInputStream;
+
+public class CopyStreamTest {
+
+ @Test
+ public void whenCopyInputStreamToOutputStream_thenCorrect() throws IOException {
+ String inputFileName = "src/test/resources/input.txt";
+ String outputFileName = "src/test/resources/output.txt";
+ File outputFile = new File(outputFileName);
+ InputStream in = new FileInputStream(inputFileName);
+ OutputStream out = new FileOutputStream(outputFileName);
+
+ StreamUtils.copy(in, out);
+
+ assertTrue(outputFile.exists());
+ String inputFileContent = getStringFromInputStream(new FileInputStream(inputFileName));
+ String outputFileContent = getStringFromInputStream(new FileInputStream(outputFileName));
+ assertEquals(inputFileContent, outputFileContent);
+ }
+
+ @Test
+ public void whenCopyRangeOfInputStreamToOutputStream_thenCorrect() throws IOException {
+ String inputFileName = "src/test/resources/input.txt";
+ String outputFileName = "src/test/resources/output.txt";
+ File outputFile = new File(outputFileName);
+ InputStream in = new FileInputStream(inputFileName);
+ OutputStream out = new FileOutputStream(outputFileName);
+
+ StreamUtils.copyRange(in, out, 1, 10);
+
+ assertTrue(outputFile.exists());
+ String inputFileContent = getStringFromInputStream(new FileInputStream(inputFileName));
+ String outputFileContent = getStringFromInputStream(new FileInputStream(outputFileName));
+ assertEquals(inputFileContent.substring(1, 11), outputFileContent);
+ }
+
+ @Test
+ public void whenCopyStringToOutputStream_thenCorrect() throws IOException {
+ String string = "Should be copied to OutputStream.";
+ String outputFileName = "src/test/resources/output.txt";
+ File outputFile = new File(outputFileName);
+ OutputStream out = new FileOutputStream("src/test/resources/output.txt");
+
+ StreamUtils.copy(string, StandardCharsets.UTF_8, out);
+
+ assertTrue(outputFile.exists());
+ String outputFileContent = getStringFromInputStream(new FileInputStream(outputFileName));
+ assertEquals(outputFileContent, string);
+ }
+
+ @Test
+ public void whenCopyInputStreamToString_thenCorrect() throws IOException {
+ String inputFileName = "src/test/resources/input.txt";
+ InputStream is = new FileInputStream(inputFileName);
+ String content = StreamUtils.copyToString(is, StandardCharsets.UTF_8);
+
+ String inputFileContent = getStringFromInputStream(new FileInputStream(inputFileName));
+ assertEquals(inputFileContent, content);
+ }
+
+ @Test
+ public void whenCopyByteArrayToOutputStream_thenCorrect() throws IOException {
+ String outputFileName = "src/test/resources/output.txt";
+ String string = "Should be copied to OutputStream.";
+ byte[] byteArray = string.getBytes();
+ OutputStream out = new FileOutputStream("src/test/resources/output.txt");
+
+ StreamUtils.copy(byteArray, out);
+ String outputFileContent = getStringFromInputStream(new FileInputStream(outputFileName));
+ assertEquals(outputFileContent, string);
+ }
+
+ @Test
+ public void whenCopyInputStreamToByteArray_thenCorrect() throws IOException {
+ String inputFileName = "src/test/resources/input.txt";
+ InputStream in = new FileInputStream(inputFileName);
+ byte[] out = StreamUtils.copyToByteArray(in);
+
+ String content = new String(out);
+ String inputFileContent = getStringFromInputStream(new FileInputStream(inputFileName));
+ assertEquals(inputFileContent, content);
+ }
+
+}
diff --git a/spring-core/src/test/resources/input.txt b/spring-core/src/test/resources/input.txt
new file mode 100644
index 0000000000..811232fa1f
--- /dev/null
+++ b/spring-core/src/test/resources/input.txt
@@ -0,0 +1 @@
+This file is merely for testing.
\ No newline at end of file
diff --git a/spring-core/src/test/resources/output.txt b/spring-core/src/test/resources/output.txt
new file mode 100644
index 0000000000..34e1e27d5a
--- /dev/null
+++ b/spring-core/src/test/resources/output.txt
@@ -0,0 +1 @@
+Should be copied to OutputStream.
\ No newline at end of file