Izbrišite sadržaj datoteke na Javi

1. Uvod

U ovom vodiču, vidjet ćemo kako koristimo Javu za brisanje sadržaja datoteke bez brisanja same datoteke. Budući da postoji mnogo jednostavnih načina za to, istražimo svaki jedan po jedan.

2. Korištenje PrintWriter

Java PrintWriter razred proširuje Pisac razred. Ispisuje formatirani prikaz objekata u tok izlaza teksta.

Izvest ćemo jednostavan test. Stvorimo a PrintWriter instanca pokazuje na postojeću datoteku, brišući postojeći sadržaj datoteke samo je zatvarajući, a zatim provjerite je li duljina datoteke prazna:

novi PrintWriter (FILE_PATH) .close (); assertEquals (0, StreamUtils.getStringFromInputStream (novi FileInputStream (FILE_PATH)). length ());

Također imajte na umu da ako nam ne treba PrintWriter objekt za daljnju obradu, ovo je najbolja opcija. Međutim, ako nam zatreba PrintWriter objekt za daljnje operacije datoteka, to možemo učiniti drugačije:

PrintWriter Writer = novi PrintWriter (FILE_PATH); pisac.print (""); // pisanje ostalih operacija.close ();

3. Korištenje FileWriter

Java FileWriter je standardna klasa Java IO API koja pruža metode za pisanje podataka orijentiranih na znakove u datoteku.

Pogledajmo sada kako možemo izvršiti istu operaciju pomoću Datoteka:

novi FileWriter (FILE_PATH, false) .close ();

Slično tome, ako nam treba FileWriter objekt za daljnju obradu, možemo ga dodijeliti varijabli i ažurirati praznim nizom.

4. Korištenje FileOutputStream

Java FileOutputStream je izlazni tok koji se koristi za upisivanje bajtnih podataka u datoteku.

Sada, izbrišimo sadržaj datoteke pomoću FileOutputStream:

novi FileOutputStream (FILE_PATH) .close (); 

5. Korištenje Apache Commons IO FileUtils

Apache Commons IO je knjižnica koja sadrži klase uslužnih programa za pomoć kod uobičajenih problema s IO-om. Sadržaj datoteke možemo izbrisati pomoću jedne od njezinih klasa korisnih programa - FileUtils.

Da bismo vidjeli kako ovo funkcionira, dodajte našoj ovisnosti Apache Commons IO pom.xml:

 commons-io commons-io 2.5 

Nakon toga, uzmimo brzi primjer koji pokazuje brisanje sadržaja datoteke:

FileUtils.write (nova datoteka (FILE_PATH), "", Charset.defaultCharset ());

6. Korištenje Java NIO Datoteke

Java NIO datoteka predstavljena je u JDK 7. Ona definira sučelja i klase za pristup datotekama, atributima datoteka i datotečnim sustavima.

Sadržaj datoteke također možemo izbrisati pomoću java.nio.file.File:

BufferedWriter Writer = Files.newBufferedWriter (Paths.get (FILE_PATH)); Writer.write (""); Writer.flush ();

7. Korištenje Java NIO FileChannel

Java NIO FileChannel je NIO-ova implementacija za povezivanje datoteke. Također nadopunjuje standardni Java IO paket.

Sadržaj datoteke također možemo izbrisati pomoću java.nio.channels.FileChannel:

FileChannel.open (Paths.get (FILE_PATH), StandardOpenOption.WRITE) .truncate (0) .close ();

8. Korištenje Guave

Guava je biblioteka zasnovana na Javi koja nudi uslužne metode za obavljanje I / O operacija. Pogledajmo kako koristiti Guava API za brisanje sadržaja datoteke.

Prvo, moramo dodati ovisnost o Guavi u naš pom.xml:

 com.google.guava guava 22.0 

Nakon toga, pogledajmo brzi primjer za brisanje sadržaja datoteke pomoću Guave:

Datoteka datoteke = nova datoteka (FILE_PATH); bajt [] prazan = novi bajt [0]; com.google.common.io.Files.write (prazno, datoteka);

9. Zaključak

Da rezimiramo, vidjeli smo više načina za brisanje sadržaja datoteke bez brisanja same datoteke.

Potpuna implementacija ovog vodiča može se naći na GitHubu.


$config[zx-auto] not found$config[zx-overlay] not found