Use try-with-resources
diff --git a/src/test/java/org/apache/commons/io/output/DeferredFileOutputStreamTest.java b/src/test/java/org/apache/commons/io/output/DeferredFileOutputStreamTest.java
index 73a2ace..08e38c1 100644
--- a/src/test/java/org/apache/commons/io/output/DeferredFileOutputStreamTest.java
+++ b/src/test/java/org/apache/commons/io/output/DeferredFileOutputStreamTest.java
@@ -65,7 +65,7 @@
@MethodSource("data")
public void testAboveThreshold(final int initialBufferSize) throws IOException {
final File testFile = Files.createTempFile(tempDirPath, "testAboveThreshold", "dat").toFile();
- try (final DeferredFileOutputStream dfos = DeferredFileOutputStream.builder()
+ try (DeferredFileOutputStream dfos = DeferredFileOutputStream.builder()
.setThreshold(testBytes.length - 5)
.setBufferSize(initialBufferSize)
.setOutputFile(testFile)
@@ -88,7 +88,7 @@
@MethodSource("data")
public void testAboveThresholdGetInputStream(final int initialBufferSize, final @TempDir Path tempDir) throws IOException {
final File testFile = Files.createTempFile(tempDirPath, "testAboveThreshold", "dat").toFile();
- try (final DeferredFileOutputStream dfos = DeferredFileOutputStream.builder()
+ try (DeferredFileOutputStream dfos = DeferredFileOutputStream.builder()
.setThreshold(testBytes.length - 5)
.setBufferSize(initialBufferSize)
.setOutputFile(testFile)
@@ -111,19 +111,20 @@
@ParameterizedTest(name = "initialBufferSize = {0}")
@MethodSource("data")
public void testAtThreshold(final int initialBufferSize) throws IOException {
- // @formatter:off
- final DeferredFileOutputStream dfos = DeferredFileOutputStream.builder()
+ try (DeferredFileOutputStream dfos = DeferredFileOutputStream.builder()
+ // @formatter:off
.setThreshold(testBytes.length)
.setBufferSize(initialBufferSize)
- .get();
- // @formatter:on
- dfos.write(testBytes, 0, testBytes.length);
- dfos.close();
- assertTrue(dfos.isInMemory());
- assertEquals(testBytes.length, dfos.getByteCount());
- final byte[] resultBytes = dfos.getData();
- assertEquals(testBytes.length, resultBytes.length);
- assertArrayEquals(resultBytes, testBytes);
+ .get()) {
+ // @formatter:on
+ dfos.write(testBytes, 0, testBytes.length);
+ dfos.close();
+ assertTrue(dfos.isInMemory());
+ assertEquals(testBytes.length, dfos.getByteCount());
+ final byte[] resultBytes = dfos.getData();
+ assertEquals(testBytes.length, resultBytes.length);
+ assertArrayEquals(resultBytes, testBytes);
+ }
}
/**
@@ -133,19 +134,20 @@
@ParameterizedTest(name = "initialBufferSize = {0}")
@MethodSource("data")
public void testBelowThreshold(final int initialBufferSize) throws IOException {
- // @formatter:off
- final DeferredFileOutputStream dfos = DeferredFileOutputStream.builder()
+ try (DeferredFileOutputStream dfos = DeferredFileOutputStream.builder()
+ // @formatter:off
.setThreshold(testBytes.length + 42)
.setBufferSize(initialBufferSize)
- .get();
- // @formatter:on
- dfos.write(testBytes, 0, testBytes.length);
- dfos.close();
- assertTrue(dfos.isInMemory());
- assertEquals(testBytes.length, dfos.getByteCount());
- final byte[] resultBytes = dfos.getData();
- assertEquals(testBytes.length, resultBytes.length);
- assertArrayEquals(resultBytes, testBytes);
+ .get()) {
+ // @formatter:on
+ dfos.write(testBytes, 0, testBytes.length);
+ dfos.close();
+ assertTrue(dfos.isInMemory());
+ assertEquals(testBytes.length, dfos.getByteCount());
+ final byte[] resultBytes = dfos.getData();
+ assertEquals(testBytes.length, resultBytes.length);
+ assertArrayEquals(resultBytes, testBytes);
+ }
}
/**
@@ -156,17 +158,18 @@
@MethodSource("data")
public void testBelowThresholdGetInputStream(final int initialBufferSize) throws IOException {
// @formatter:off
- final DeferredFileOutputStream dfos = DeferredFileOutputStream.builder()
+ try (DeferredFileOutputStream dfos = DeferredFileOutputStream.builder()
.setThreshold(testBytes.length + 42)
.setBufferSize(initialBufferSize)
- .get();
+ .get()) {
// @formatter:on
- dfos.write(testBytes, 0, testBytes.length);
- dfos.close();
- assertTrue(dfos.isInMemory());
- assertEquals(testBytes.length, dfos.getByteCount());
- try (InputStream is = dfos.toInputStream()) {
- assertArrayEquals(testBytes, IOUtils.toByteArray(is));
+ dfos.write(testBytes, 0, testBytes.length);
+ dfos.close();
+ assertTrue(dfos.isInMemory());
+ assertEquals(testBytes.length, dfos.getByteCount());
+ try (InputStream is = dfos.toInputStream()) {
+ assertArrayEquals(testBytes, IOUtils.toByteArray(is));
+ }
}
}
@@ -179,29 +182,29 @@
final String prefix = "commons-io-test";
final String suffix = ".out";
// @formatter:off
- final DeferredFileOutputStream dfos = DeferredFileOutputStream.builder()
+ try (DeferredFileOutputStream dfos = DeferredFileOutputStream.builder()
.setThreshold(testBytes.length - 5)
.setBufferSize(initialBufferSize)
.setPrefix(prefix)
.setSuffix(suffix)
.setDirectory(tempDirFile)
.setDirectory(tempDirPath.toFile())
- .get();
+ .get()) {
// @formatter:on
- assertNull(dfos.getFile(), "Check File is null-A");
- assertNull(dfos.getPath(), "Check Path is null-A");
- dfos.write(testBytes, 0, testBytes.length);
- dfos.close();
- assertFalse(dfos.isInMemory());
- assertEquals(testBytes.length, dfos.getByteCount());
- assertNull(dfos.getData());
- assertNotNull(dfos.getFile(), "Check file not null");
- assertTrue(dfos.getFile().exists(), "Check file exists");
- assertTrue(dfos.getFile().getName().startsWith(prefix), "Check prefix");
- assertTrue(dfos.getFile().getName().endsWith(suffix), "Check suffix");
- assertEquals(tempDirPath, dfos.getPath().getParent(), "Check dir");
-
- verifyResultFile(dfos.getFile());
+ assertNull(dfos.getFile(), "Check File is null-A");
+ assertNull(dfos.getPath(), "Check Path is null-A");
+ dfos.write(testBytes, 0, testBytes.length);
+ dfos.close();
+ assertFalse(dfos.isInMemory());
+ assertEquals(testBytes.length, dfos.getByteCount());
+ assertNull(dfos.getData());
+ assertNotNull(dfos.getFile(), "Check file not null");
+ assertTrue(dfos.getFile().exists(), "Check file exists");
+ assertTrue(dfos.getFile().getName().startsWith(prefix), "Check prefix");
+ assertTrue(dfos.getFile().getName().endsWith(suffix), "Check suffix");
+ assertEquals(tempDirPath, dfos.getPath().getParent(), "Check dir");
+ verifyResultFile(dfos.getFile());
+ }
}
/**
@@ -213,29 +216,32 @@
public void testTempFileAboveThresholdPrefixOnly(final int initialBufferSize) throws IOException {
final String prefix = "commons-io-test";
final String suffix = null;
- final DeferredFileOutputStream dfos = DeferredFileOutputStream.builder()
+ try (final DeferredFileOutputStream dfos = DeferredFileOutputStream.builder()
+ // @formatter:off
.setThreshold(testBytes.length - 5)
.setBufferSize(initialBufferSize)
.setPrefix(prefix)
.setSuffix(suffix)
.setDirectory((Path) null)
- .get();
- try {
- assertNull(dfos.getFile(), "Check File is null-A");
- assertNull(dfos.getPath(), "Check Path is null-A");
- dfos.write(testBytes, 0, testBytes.length);
- dfos.close();
- assertFalse(dfos.isInMemory());
- assertNull(dfos.getData());
- assertEquals(testBytes.length, dfos.getByteCount());
- assertNotNull(dfos.getFile(), "Check file not null");
- assertTrue(dfos.getFile().exists(), "Check file exists");
- assertTrue(dfos.getFile().getName().startsWith(prefix), "Check prefix");
- assertTrue(dfos.getFile().getName().endsWith(".tmp"), "Check suffix"); // ".tmp" is default
- verifyResultFile(dfos.getFile());
- } finally {
- // Delete the temporary file.
- dfos.getFile().delete();
+ .get()) {
+ // @formatter:on
+ try {
+ assertNull(dfos.getFile(), "Check File is null-A");
+ assertNull(dfos.getPath(), "Check Path is null-A");
+ dfos.write(testBytes, 0, testBytes.length);
+ dfos.close();
+ assertFalse(dfos.isInMemory());
+ assertNull(dfos.getData());
+ assertEquals(testBytes.length, dfos.getByteCount());
+ assertNotNull(dfos.getFile(), "Check file not null");
+ assertTrue(dfos.getFile().exists(), "Check file exists");
+ assertTrue(dfos.getFile().getName().startsWith(prefix), "Check prefix");
+ assertTrue(dfos.getFile().getName().endsWith(".tmp"), "Check suffix"); // ".tmp" is default
+ verifyResultFile(dfos.getFile());
+ } finally {
+ // Delete the temporary file.
+ dfos.getFile().delete();
+ }
}
}
@@ -248,14 +254,15 @@
public void testTempFileBelowThreshold(final int initialBufferSize) throws IOException {
final String prefix = "commons-io-test";
final String suffix = ".out";
- final DeferredFileOutputStream dfos = new DeferredFileOutputStream(testBytes.length + 42, initialBufferSize, prefix, suffix, tempDirFile);
- assertNull(dfos.getFile(), "Check File is null-A");
- assertNull(dfos.getPath(), "Check Path is null-A");
- dfos.write(testBytes, 0, testBytes.length);
- dfos.close();
- assertTrue(dfos.isInMemory());
- assertEquals(testBytes.length, dfos.getByteCount());
- assertNull(dfos.getFile(), "Check file is null-B");
+ try (final DeferredFileOutputStream dfos = new DeferredFileOutputStream(testBytes.length + 42, initialBufferSize, prefix, suffix, tempDirFile)) {
+ assertNull(dfos.getFile(), "Check File is null-A");
+ assertNull(dfos.getPath(), "Check Path is null-A");
+ dfos.write(testBytes, 0, testBytes.length);
+ dfos.close();
+ assertTrue(dfos.isInMemory());
+ assertEquals(testBytes.length, dfos.getByteCount());
+ assertNull(dfos.getFile(), "Check file is null-B");
+ }
}
/**
@@ -279,24 +286,23 @@
@MethodSource("data")
public void testThresholdReached(final int initialBufferSize) throws IOException {
final File testFile = Files.createTempFile(tempDirPath, "testThresholdReached", "dat").toFile();
-
- // @formatter:off
- final DeferredFileOutputStream dfos = DeferredFileOutputStream.builder()
+ try (final DeferredFileOutputStream dfos = DeferredFileOutputStream.builder()
+ // @formatter:off
.setThreshold(testBytes.length /2)
.setBufferSize(initialBufferSize)
.setOutputFile(testFile)
- .get();
- // @formatter:on
- final int chunkSize = testBytes.length / 3;
- dfos.write(testBytes, 0, chunkSize);
- dfos.write(testBytes, chunkSize, chunkSize);
- dfos.write(testBytes, chunkSize * 2, testBytes.length - chunkSize * 2);
- dfos.close();
- assertFalse(dfos.isInMemory());
- assertNull(dfos.getData());
- assertEquals(testBytes.length, dfos.getByteCount());
-
- verifyResultFile(testFile);
+ .get()) {
+ // @formatter:on
+ final int chunkSize = testBytes.length / 3;
+ dfos.write(testBytes, 0, chunkSize);
+ dfos.write(testBytes, chunkSize, chunkSize);
+ dfos.write(testBytes, chunkSize * 2, testBytes.length - chunkSize * 2);
+ dfos.close();
+ assertFalse(dfos.isInMemory());
+ assertNull(dfos.getData());
+ assertEquals(testBytes.length, dfos.getByteCount());
+ verifyResultFile(testFile);
+ }
}
/**
@@ -306,22 +312,22 @@
@MethodSource("data")
public void testWriteToLarge(final int initialBufferSize) throws IOException {
final File testFile = Files.createTempFile(tempDirPath, "testWriteToFile", "dat").toFile();
- final ByteArrayOutputStream baos = new ByteArrayOutputStream(initialBufferSize);
+ try (ByteArrayOutputStream baos = new ByteArrayOutputStream(initialBufferSize);
+ DeferredFileOutputStream dfos = DeferredFileOutputStream.builder().setThreshold(testBytes.length / 2).setOutputFile(testFile).get()) {
+ dfos.write(testBytes);
- final DeferredFileOutputStream dfos = DeferredFileOutputStream.builder().setThreshold(testBytes.length / 2).setOutputFile(testFile).get();
- dfos.write(testBytes);
+ assertTrue(testFile.exists());
+ assertFalse(dfos.isInMemory());
+ assertEquals(testBytes.length, dfos.getByteCount());
- assertTrue(testFile.exists());
- assertFalse(dfos.isInMemory());
- assertEquals(testBytes.length, dfos.getByteCount());
+ assertThrows(IOException.class, () -> dfos.writeTo(baos));
- assertThrows(IOException.class, () -> dfos.writeTo(baos));
-
- dfos.close();
- dfos.writeTo(baos);
- final byte[] copiedBytes = baos.toByteArray();
- assertArrayEquals(testBytes, copiedBytes);
- verifyResultFile(testFile);
+ dfos.close();
+ dfos.writeTo(baos);
+ final byte[] copiedBytes = baos.toByteArray();
+ assertArrayEquals(testBytes, copiedBytes);
+ verifyResultFile(testFile);
+ }
}
/**
@@ -331,22 +337,22 @@
@MethodSource("data")
public void testWriteToLargeCtor(final int initialBufferSize) throws IOException {
final File testFile = Files.createTempFile(tempDirPath, "testWriteToFile", "dat").toFile();
- final ByteArrayOutputStream baos = new ByteArrayOutputStream(initialBufferSize);
+ try (ByteArrayOutputStream baos = new ByteArrayOutputStream(initialBufferSize);
+ DeferredFileOutputStream dfos = new DeferredFileOutputStream(testBytes.length / 2, testFile)) {
+ dfos.write(testBytes);
- final DeferredFileOutputStream dfos = new DeferredFileOutputStream(testBytes.length / 2, testFile);
- dfos.write(testBytes);
+ assertTrue(testFile.exists());
+ assertFalse(dfos.isInMemory());
- assertTrue(testFile.exists());
- assertFalse(dfos.isInMemory());
+ assertThrows(IOException.class, () -> dfos.writeTo(baos));
+ assertEquals(testBytes.length, dfos.getByteCount());
- assertThrows(IOException.class, () -> dfos.writeTo(baos));
- assertEquals(testBytes.length, dfos.getByteCount());
-
- dfos.close();
- dfos.writeTo(baos);
- final byte[] copiedBytes = baos.toByteArray();
- assertArrayEquals(testBytes, copiedBytes);
- verifyResultFile(testFile);
+ dfos.close();
+ dfos.writeTo(baos);
+ final byte[] copiedBytes = baos.toByteArray();
+ assertArrayEquals(testBytes, copiedBytes);
+ verifyResultFile(testFile);
+ }
}
/**
@@ -357,20 +363,20 @@
@MethodSource("data")
public void testWriteToSmall(final int initialBufferSize) throws IOException {
final File testFile = Files.createTempFile(tempDirPath, "testWriteToMem", "dat").toFile();
- final ByteArrayOutputStream baos = new ByteArrayOutputStream(initialBufferSize);
+ try (ByteArrayOutputStream baos = new ByteArrayOutputStream(initialBufferSize);
+ final DeferredFileOutputStream dfos = new DeferredFileOutputStream(testBytes.length * 2, initialBufferSize, testFile)) {
+ dfos.write(testBytes);
- final DeferredFileOutputStream dfos = new DeferredFileOutputStream(testBytes.length * 2, initialBufferSize, testFile);
- dfos.write(testBytes);
+ assertTrue(dfos.isInMemory());
- assertTrue(dfos.isInMemory());
+ assertThrows(IOException.class, () -> dfos.writeTo(baos));
+ assertEquals(testBytes.length, dfos.getByteCount());
- assertThrows(IOException.class, () -> dfos.writeTo(baos));
- assertEquals(testBytes.length, dfos.getByteCount());
-
- dfos.close();
- dfos.writeTo(baos);
- final byte[] copiedBytes = baos.toByteArray();
- assertArrayEquals(testBytes, copiedBytes);
+ dfos.close();
+ dfos.writeTo(baos);
+ final byte[] copiedBytes = baos.toByteArray();
+ assertArrayEquals(testBytes, copiedBytes);
+ }
}
/**