logo

Com esborrar un fitxer a Java

Hi ha dos mètodes per eliminar un fitxer a Java:

  • Utilitzant File.delete() mètode
  • Utilitzant File.deleteOnExit() mètode

Mètode Java File.delete().

A Java, podem suprimir un fitxer mitjançant l' File.delete() mètode de la classe File. El mètode delete() elimina el fitxer o directori indicat pel nom de ruta abstracte. Si la ruta és un directori, aquest ha d'estar buit per eliminar-lo. La signatura del mètode és:

 public boolean delete() 

El mètode retorna true si el fitxer o directori s'ha eliminat correctament, en cas contrari retorna false.

Exemple

 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(); } } } 

Sortida:

Quan el fitxer existeix.

Com esborrar un fitxer a Java

Quan el fitxer no existeix.

Com esborrar un fitxer a Java

Mètode Java File.deleteOnExit().

El File.deleteOnExit() El mètode també elimina el fitxer o el directori definit pel nom de ruta abstracte. El mètode deleteOnExit() elimina el fitxer en ordre invers. Esborra el fitxer quan finalitza la JVM. No retorna cap valor. Un cop feta la sol·licitud, no és possible anul·lar-la. Per tant, aquest mètode s'ha d'utilitzar amb cura.

La signatura del mètode és:

 public void deleteOnExit() 

Normalment, utilitzem aquest mètode quan volem eliminar el fitxer temporal. S'utilitza un fitxer temporal per emmagatzemar les dades temporals i menys importants, que sempre s'han de suprimir quan finalitzi la JVM.

Si volem suprimir el fitxer .temp manualment, podem utilitzar el mètode File.delete().

Exemple

L'exemple següent crea un fitxer temporal anomenat abc.temp i el suprimeix quan s'acaba el programa.

 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(); } } } 

Sortida:

Com esborrar un fitxer a Java

Vegem un altre exemple que elimina un fitxer de text.

Exemple

 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(); } } } 

Sortida:

Com esborrar un fitxer a Java