diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/support/AbstractFileItemWriter.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/support/AbstractFileItemWriter.java index cf04d21eb6..125fc8f839 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/support/AbstractFileItemWriter.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/support/AbstractFileItemWriter.java @@ -270,7 +270,9 @@ public void close() { state.close(); if (state.linesWritten == 0 && shouldDeleteIfEmpty) { try { - resource.getFile().delete(); + if (!resource.getFile().delete()) { + throw new ItemStreamException("Failed to delete empty file on close"); + } } catch (IOException e) { throw new ItemStreamException("Failed to delete empty file on close", e); diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/xml/StaxEventItemWriter.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/xml/StaxEventItemWriter.java index 8af5576930..694b1bf77f 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/xml/StaxEventItemWriter.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/xml/StaxEventItemWriter.java @@ -735,7 +735,9 @@ public void close() { } if (currentRecordCount == 0 && shouldDeleteIfEmpty) { try { - resource.getFile().delete(); + if (!resource.getFile().delete()) { + throw new ItemStreamException("Failed to delete empty file on close"); + } } catch (IOException e) { throw new ItemStreamException("Failed to delete empty file on close", e);