Como parte de um alcance de qualidade, algumas mudanças estão chegando na versão Java 25 planejada em relação às operações de arquivo no Windows. O File.delete O comando não excluirá mais os arquivos somente leitura no Windows e o arquivo operações em um caminho com um espaço à direita em um diretório ou nome do arquivo agora falhará de forma consistente no Windows.

Em um boletim de 16 de junho no blog do Oracle’s Inside. File.delete No JDK 25, foi alterado no Windows, então agora falha e retorna false Para arquivos regulares quando o atributo somente leitura do DOS é definido. Antes do JDK 25, File.delete Excluiria arquivos somente leitura, removendo o atributo somente leitura do DOS antes que a exclusão fosse tentada. Mas, como remover o atributo e excluir o arquivo não é uma única operação atômica, isso pode resultar no restante do arquivo, com atributos modificados. Os aplicativos que dependem do comportamento anterior devem ser atualizados para limpar os atributos do arquivo antes de excluir arquivos, disse Delabassee.

Para facilitar a transição, uma propriedade do sistema foi introduzida para restaurar o comportamento anterior. Correndo File.delete com -Djdk.io.File.allowDeleteReadOnlyFiles=true Removerá o atributo somente leitura do DOS antes de excluir o arquivo, restaurar o comportamento do legado.