Tem certeza de que não há nenhum processo acessando os arquivos da pasta?
Não esqueceu nenhum InputStream ou OutputStream aberto?
O usuário que está executando o Java tem permissão para excluir arquivos?
o if nao tem erro o erro ta no File pelo oq eu tava procurando um dos caras desse forum disse que o windows nao apaga se apasta estiver aberta mais como eu vou fechar a pastar
A IDE não pediu pra criar o try catch? Sempre que se usa a classe File ele pede, por causa da IOException. E se não tá excluindo, tá gerando algum erro…
Realmente, o Windows não deixa você apagar um diretório se ele estiver aberto no Windows Explorer.
Nesses casos nem acontece IOException, o que acontece é que o método delete() retorna false.
Talvez você precise pôr algum tipo de controle e avisar o usuário de que a pasta está em uso e não pode ser apagada.
Algo mais ou menos assim:
void delTree(File file) {
if (file.isDirectory()){
File[] files = file.listFiles();
for (File toDelete : files) {
delTree(toDelete);
}
}
while (!file.delete()) {
Component parentComponent = null;
Object message = "Não foi possível apagar \"" + file.getAbsolutePath() + "\" pois o mesmo está em uso!";
String title = "Atenção";
int messageType = JOptionPane.WARNING_MESSAGE;
JOptionPane.showMessageDialog(parentComponent, message, title, messageType);
}
}