diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/FlatFileItemWriterTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/FlatFileItemWriterTests.java
index 21e0aed6a..057294878 100644
--- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/FlatFileItemWriterTests.java
+++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/FlatFileItemWriterTests.java
@@ -54,10 +54,10 @@ import org.springframework.util.ClassUtils;
/**
* Tests of regular usage for {@link FlatFileItemWriter} Exception cases will be in separate TestCase classes with
* different setUp and tearDown methods
- *
+ *
* @author Robert Kasanicky
* @author Dave Syer
- *
+ *
*/
public class FlatFileItemWriterTests {
@@ -115,6 +115,16 @@ public class FlatFileItemWriterTests {
return reader.readLine();
}
+ /*
+ * Properly close the output file reader.
+ */
+ private void closeReader() throws IOException {
+
+ if (reader != null) {
+ reader.close();
+ reader = null;
+ }
+ }
@Test
public void testWriteWithMultipleOpen() throws Exception {
@@ -132,7 +142,7 @@ public class FlatFileItemWriterTests {
writer.write(Collections.singletonList("test1"));
writer.close();
assertEquals("test1", readLine());
- reader = null;
+ closeReader();
writer.setShouldDeleteIfExists(true);
writer.open(executionContext);
writer.write(Collections.singletonList("test2"));
@@ -146,7 +156,7 @@ public class FlatFileItemWriterTests {
writer.write(Collections.singletonList("test1"));
writer.close();
assertEquals("test1", readLine());
- reader = null;
+ closeReader();
writer.open(executionContext);
writer.write(Collections.singletonList("test2"));
assertEquals("test1", readLine());
@@ -160,7 +170,7 @@ public class FlatFileItemWriterTests {
writer.write(Collections.singletonList("test1"));
writer.close();
assertEquals("test1", readLine());
- reader = null;
+ closeReader();
writer.open(executionContext);
writer.write(Collections.singletonList(TEST_STRING));
writer.update(executionContext);
@@ -173,7 +183,7 @@ public class FlatFileItemWriterTests {
writer.open(executionContext);
writer.write(Collections.singletonList(TEST_STRING));
writer.close();
- reader = null;
+ closeReader();
assertEquals("test1", readLine());
assertEquals(TEST_STRING, readLine());
assertEquals(TEST_STRING, readLine());
@@ -189,7 +199,7 @@ public class FlatFileItemWriterTests {
/**
* Regular usage of write(String) method
- *
+ *
* @throws Exception
*/
@Test
@@ -215,7 +225,7 @@ public class FlatFileItemWriterTests {
/**
* Regular usage of write(String) method
- *
+ *
* @throws Exception
*/
@Test
@@ -235,7 +245,7 @@ public class FlatFileItemWriterTests {
/**
* Regular usage of write(String) method
- *
+ *
* @throws Exception
*/
@Test
@@ -253,7 +263,7 @@ public class FlatFileItemWriterTests {
/**
* Regular usage of write(String[], LineDescriptor) method
- *
+ *
* @throws Exception
*/
@Test
@@ -545,7 +555,7 @@ public class FlatFileItemWriterTests {
assertEquals("a", readLine());
assertEquals("b", readLine());
assertEquals("test1", readLine());
- reader = null;
+ closeReader();
writer.open(executionContext);
writer.write(Collections.singletonList("test2"));
assertEquals("a", readLine());
@@ -630,7 +640,7 @@ public class FlatFileItemWriterTests {
writer.open(executionContext);
writer.write(Collections.singletonList(TEST_STRING));
writer.close();
- reader = null;
+ closeReader();
lineFromFile = readLine();
assertEquals("a", lineFromFile);
lineFromFile = readLine();
@@ -683,9 +693,9 @@ public class FlatFileItemWriterTests {
*/
public void testAppendToNotYetExistingFile() throws Exception {
Resource toBeCreated = new FileSystemResource("target/FlatFileItemWriterTests.out");
-
- outputFile = toBeCreated.getFile(); //enable easy content reading and auto-delete the file
-
+
+ outputFile = toBeCreated.getFile(); //enable easy content reading and auto-delete the file
+
assertFalse("output file does not exist yet", toBeCreated.exists());
writer.setResource(toBeCreated);
writer.setAppendAllowed(true);