Файл не может быть удален, если он был открыт чем-то другим.
Существует множество возможных причин для этого как внутри, так и вне вашего собственного кода.Я предполагаю, что вы управляете этими файлами исключительно внутри своего собственного кода.Вам необходимо убедиться, что вы вызываете метод close()
для InputStream
/ OutputStream
или Reader
/ Writer
в блоке finally
блока try
, в котором вы читаете / пишетефайл.
Итак, убедитесь, что вы придерживаетесь следующей идиомы Java IO создания, использования и закрытия ресурсов InputStream
/ OutputStream
и Reader
/ Writer
.
Writer writer = null;
try {
writer = new FileWriter(file); // Just an example. Can be any Writer.
writer.write(something);
// ...
} finally {
if (writer != null) try { writer.close(); } catch (IOException ignore) {}
}
Или когда вы уже используете Java 7 :
try (Writer writer = new FileWriter(file)) {
writer.write(something);
// ...
}
Он автоматически закроет ресурс AutoCloseable
, когда блок try
останется.