Odstráňte obsah súboru v prostredí Java

1. Úvod

V tomto návode uvidíme, ako používame program Java na odstránenie obsahu súboru bez odstránenia samotného súboru. Pretože na to existuje veľa jednoduchých spôsobov, poďme preskúmať každý jeden.

2. Pomocou PrintWriter

Java PrintWriter trieda rozširuje Spisovateľ trieda. Vytlačí naformátovanú reprezentáciu objektov do prúdu textového výstupu.

Urobíme jednoduchý test. Vytvorme a PrintWriter inštancia ukazujúca na existujúci súbor, odstránenie existujúceho obsahu súboru jeho zatvorením a potom sa uistite, že je dĺžka súboru prázdna:

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

Upozorňujeme tiež, že ak nepotrebujeme PrintWriter objekt na ďalšie spracovanie, toto je najlepšia voľba. Ak však potrebujeme PrintWriter objekt pre ďalšie operácie so súbormi, môžeme to urobiť inak:

Zapisovač PrintWriter = nový PrintWriter (FILE_PATH); writer.print (""); // ďalšie operácie writer.close ();

3. Používanie FileWriter

Java FileWriter je štandardná trieda API Java IO, ktorá poskytuje metódy zápisu znakovo orientovaných údajov do súboru.

Pozrime sa teraz, ako môžeme rovnakú operáciu urobiť pomocou FileWriter:

nový FileWriter (FILE_PATH, false) .close ();

Podobne, ak potrebujeme FileWriter objekt na ďalšie spracovanie, môžeme ho priradiť k premennej a aktualizovať s prázdnym reťazcom.

4. Používanie FileOutputStream

Java FileOutputStream je výstupný prúd používaný na zápis bajtových údajov do súboru.

Teraz poďme odstrániť obsah súboru pomocou FileOutputStream:

nový FileOutputStream (FILE_PATH) .close (); 

5. Používanie Apache Commons IO FileUtils

Apache Commons IO je knižnica, ktorá obsahuje triedy nástrojov na pomoc so spoločnými problémami s IO. Obsah súboru môžeme vymazať pomocou jednej z jeho tried nástrojov - FileUtils.

Aby sme videli, ako to funguje, pridajme do našej závislosti Apache Commons IO pom.xml:

 commons-io commons-io 2.5 

Potom si vezmime rýchly príklad demonštrujúci odstránenie obsahu súboru:

FileUtils.write (nový súbor (FILE_PATH), "", Charset.defaultCharset ());

6. Používanie Java NIO Súbory

Súbor Java NIO bol predstavený v JDK 7. Definuje rozhrania a triedy na prístup k súborom, atribútom súborov a súborovým systémom.

Môžeme tiež vymazať obsah súboru pomocou java.nio.file.files:

Zapisovač BufferedWriter = Files.newBufferedWriter (Paths.get (FILE_PATH)); writer.write (""); writer.flush ();

7. Používanie Java NIO FileChannel

Java NIO FileChannel je implementácia NIO na pripojenie súboru. Taktiež dopĺňa štandardný balík Java IO.

Môžeme tiež vymazať obsah súboru pomocou java.nio.channels.FileChannel:

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

8. Používanie Guavy

Guava je otvorená knižnica založená na prostredí Java, ktorá poskytuje užitočné metódy na vykonávanie I / O operácií. Pozrime sa, ako používať API Guava na odstránenie obsahu súboru.

Najprv musíme do nášho pridať závislosť na Guave pom.xml:

 com.google.guava guava 22.0 

Poďme si teraz pozrieť krátky príklad na odstránenie obsahu súboru pomocou Guavy:

File file = nový súbor (FILE_PATH); byte [] prázdny = nový bajt [0]; com.google.common.io.Files.write (prázdny, súbor);

9. Záver

Ak to zhrnieme, videli sme niekoľko spôsobov, ako odstrániť obsah súboru bez jeho odstránenia.

Celú implementáciu tohto tutoriálu nájdete na GitHub.


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