Kako izbrisati datoteke i direktorije u Javi

Za brisanje datoteke na Javi možemo upotrijebiti delete() metoda iz Files razred. Također možemo koristiti delete() metoda na objektu koji je instanca File razred.

Primjer:

Brisanje datoteke pomoću klase Datoteke

Primjer koda u nastavku pokazuje kako izbrisati datoteku sa Files razred:

import java.io.IOException; import java.nio.file.*; public class DeleteFile {
public static void main(String[] args) {
Path path = FileSystems.getDefault().getPath('./src/test/resources/newFile.txt');
try {

Files.delete(path);
} catch (NoSuchFileException x) {

System.err.format('%s: no such' + ' file or directory%n', path);
} catch (IOException x) {

System.err.println(x);
}
} }

Gornji kod briše datoteku pod nazivom newFile.txt u ./src/test/resources/ imenik.

Višestruki catch() blokovi će uhvatiti sve pogreške bačene prilikom brisanja datoteke.

Brisanje datoteke pomoću klase datoteke

Umjesto da koristite delete() metoda na Files klase, možemo koristiti i delete() metoda na objektu koji je instanca File razred.



Primjer:

import java.io.File; public class DeleteFile {
public static void main(String[] args) {
File myFile = new File('./src/test/resources/newFile.txt');
if (myFile.delete()) {

System.out.println('Deleted the file: ' + myFile.getName());
} else {

System.out.println('Failed to delete the file.');
}
} }

Izbrišite datoteku ako postoji

Sljedeći kôd koristi deleteIfExists() metoda prije brisanja datoteke.

import java.io.IOException; import java.nio.file.*; public class DeleteFile {
public static void main(String[] args) {
Path path = FileSystems.getDefault().getPath('./src/test/resources/newFile.txt');
try {

Files.deleteIfExists(path);
} catch (IOException x) {

System.err.println(x);
}
} }

U gornjem primjeru koda, ako datoteka ne postoji, NoSuchFileException nije bačen.

Izbrišite direktorij

Gornji kod možemo koristiti i za brisanje mape.

Ako mapa nije prazna, DirectoryNotEmptyException se baca, pa moramo izričito uhvatiti iznimku.

import java.io.IOException; import java.nio.file.*; public class DeleteFile {
public static void main(String[] args) {
Path path = FileSystems.getDefault().getPath('./src/test/resources');
try {

Files.deleteIfExists(path);
} catch (NoSuchFileException x) {

System.err.format('%s: no such' + ' file or directory%n', path);
} catch (DirectoryNotEmptyException x) {

System.err.format('%s not empty%n', path);
} catch (IOException x) {

System.err.println(x);
}
} }

Povezano: