diff --git a/poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/SheetDataWriter.java b/poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/SheetDataWriter.java index f0e8d3c05b..70b2b68d04 100644 --- a/poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/SheetDataWriter.java +++ b/poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/SheetDataWriter.java @@ -460,7 +460,7 @@ public class SheetDataWriter implements Closeable { try { _out.close(); } finally { - ret = _fd != null && _fd.delete(); + ret = _fd == null || _fd.delete(); } return ret; } diff --git a/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSheetDataWriter.java b/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSheetDataWriter.java index a452073f35..239477c352 100644 --- a/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSheetDataWriter.java +++ b/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSheetDataWriter.java @@ -26,6 +26,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.File; import java.io.FileInputStream; import java.io.IOException; +import java.io.StringWriter; import java.nio.charset.StandardCharsets; import org.apache.poi.util.IOUtils; @@ -69,6 +70,7 @@ public final class TestSheetDataWriter { IOUtils.closeQuietly(writer); } } + @Test void testWriteNewLines() throws IOException { SheetDataWriter writer = new SheetDataWriter(); @@ -84,4 +86,17 @@ public final class TestSheetDataWriter { IOUtils.closeQuietly(writer); } } + + @Test + void testDispose() throws IOException { + SheetDataWriter writer = new SheetDataWriter(); + assertTrue(writer.dispose()); + } + + @Test + void testWriterDispose() throws IOException { + StringWriter sw = new StringWriter(); + SheetDataWriter writer = new SheetDataWriter(sw); + assertTrue(writer.dispose()); + } }