Existem dois métodos para excluir um arquivo em Java:
- Usando Arquivo.delete() método
- Usando Arquivo.deleteOnExit() método
Método Java File.delete()
Em Java, podemos excluir um arquivo usando o Arquivo.delete() método da classe Arquivo. O método delete() exclui o arquivo ou diretório indicado pelo nome do caminho abstrato. Se o nome do caminho for um diretório, esse diretório deverá estar vazio para exclusão. A assinatura do método é:
public boolean delete()
O método retorna verdadeiro se o arquivo ou diretório foi excluído com sucesso; caso contrário, retorna falso.
Exemplo
import java.io.File; public class FileDeleteExample { public static void main(String[] args) { try { File f= new File('E:\demo.txt'); //file to be delete if(f.delete()) //returns Boolean value { System.out.println(f.getName() + ' deleted'); //getting and printing the file name } else { System.out.println('failed'); } } catch(Exception e) { e.printStackTrace(); } } }
Saída:
Quando o arquivo existe.
Quando o arquivo não existe.
Método Java File.deleteOnExit()
O Arquivo.deleteOnExit() O método também exclui o arquivo ou diretório definido pelo nome do caminho abstrato. O método deleteOnExit() exclui o arquivo na ordem inversa. Ele exclui o arquivo quando a JVM termina. Não retorna nenhum valor. Uma vez feita a solicitação, não é possível cancelar a solicitação. Portanto, este método deve ser usado com cuidado.
A assinatura do método é:
public void deleteOnExit()
Normalmente, usamos este método quando queremos excluir o arquivo temporário. Um arquivo temporário é usado para armazenar os dados menos importantes e temporários, que sempre devem ser excluídos quando a JVM termina.
Se quisermos excluir o arquivo .temp manualmente, podemos usar o método File.delete().
Exemplo
O exemplo a seguir cria um arquivo temporário chamado abc.temp e o exclui quando o programa é encerrado.
import java.io.File; import java.io.IOException; public class DeleteOnExitExample { public static void main(String[] args) { File temp; try { temp = File.createTempFile('abc', '.temp'); //creating a .temp file System.out.println('Temp file created at location: ' + temp.getAbsolutePath()); temp.deleteOnExit(); //delete file on runtime exit System.out.println('Temp file exists : ' + temp.exists()); } catch (IOException e) { e.printStackTrace(); } } }
Saída:
Vamos ver outro exemplo que exclui arquivo de texto.
Exemplo
import java.io.File; import java.io.IOException; public class DeleteTextFileExample { public static void main(String[] args) { try { File file = new File('F:\newfile.txt'); //creates a file instance file.deleteOnExit(); //deletes the file when JVM terminates System.out.println('Done'); Thread.sleep(1000); } catch(Exception e) { e.printStackTrace(); } } }
Saída: