Törölje a Java fájljának tartalmát

1. Bemutatkozás

Ebben az oktatóanyagban meglátjuk, hogyan használjuk a Java-t egy fájl tartalmának törléséhez anélkül, hogy törölnénk a fájlt. Mivel sok egyszerű módszer létezik rá, fedezzük fel mindegyiket egyenként.

2. Használata PrintWriter

Java PrintWriter osztály kiterjeszti a Író osztály. Kinyomtatja az objektumok formázott ábrázolását a szöveg-kimeneti adatfolyamba.

Egy egyszerű tesztet hajtunk végre. Hozzunk létre egy PrintWriter egy meglévő fájlra mutató példány, a fájl meglévő tartalmának törlése a bezárásával, majd ellenőrizze, hogy a fájl hossza üres-e:

új PrintWriter (FILE_PATH) .close (); assertEquals (0, StreamUtils.getStringFromInputStream (új FileInputStream (FILE_PATH)). hossz ());

Azt is vegye figyelembe, hogy ha nincs szükségünk a PrintWriter objektum további feldolgozásra, ez a legjobb megoldás. Ha azonban szükségünk van a PrintWriter objektum további fájlműveletekhez, ezt másképp tehetjük meg:

PrintWriter író = new PrintWriter (FILE_PATH); író.nyomtatás (""); // egyéb műveletek írója.close ();

3. Használata FileWriter

Java FileWriter egy standard Java IO API osztály, amely módszereket kínál karakter-orientált adatok fájlba történő írására.

Most nézzük meg, hogyan tehetjük meg ugyanazt a műveletet a használatával FileWriter:

új FileWriter (FILE_PATH, hamis) .close ();

Hasonlóképpen, ha szükségünk van a FileWriter objektumot további feldolgozáshoz, hozzárendelhetjük egy változóhoz és frissíthetjük egy üres karakterlánccal.

4. Használata FileOutputStream

Java FileOutputStream egy kimeneti adatfolyam, amelyet bájtadatok fájlba írására használnak.

Most töröljük a fájl tartalmát a segítségével FileOutputStream:

új FileOutputStream (FILE_PATH) .close (); 

5. Az Apache Commons IO használata FileUtils

Az Apache Commons IO olyan könyvtár, amely segédprogramokat tartalmaz, amelyek segítenek a gyakori IO problémák megoldásában. A fájl tartalmát az egyik segédosztályával törölhetjük - FileUtils.

Ahhoz, hogy lássuk, hogyan működik ez, tegyük hozzá az Apache Commons IO függőséget a mi pom.xml:

 commons-io commons-io 2.5 

Ezután vegyünk egy gyors példát a fájl tartalmának törlésére:

FileUtils.write (új fájl (FILE_PATH), "", Charset.defaultCharset ());

6. A Java NIO használata Fájlok

A Java NIO fájlt a JDK 7-ben vezették be. Meghatározza a fájlok, fájlattribútumok és fájlrendszerek eléréséhez szükséges interfészeket és osztályokat.

A fájl tartalmát a segítségével is törölhetjük java.nio.file.Files:

BufferedWriter író = Files.newBufferedWriter (Paths.get (FILE_PATH)); író.írja (""); író.öblítés ();

7. A Java NIO használata FileChannel

A Java NIO FileChannel a NIO megvalósítása a fájlok összekapcsolására. Ez kiegészíti a standard Java IO csomagot is.

A fájl tartalmát a segítségével is törölhetjük java.nio.channels.FileChannel:

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

8. Guava használata

A Guava egy nyílt forráskódú Java-alapú könyvtár, amely segédprogramokat kínál az I / O műveletek elvégzéséhez. Nézzük meg, hogyan lehet használni a Guava API-t a fájl tartalmának törléséhez.

Először hozzá kell adnunk a guava-függőséget pom.xml:

 com.google.guava guava 22.0 

Ezután nézzünk meg egy gyors példát a fájltartalom törlésére a Guava használatával:

File file = új fájl (FILE_PATH); bájt [] üres = új bájt [0]; com.google.common.io.Files.write (üres, fájl);

9. Következtetés

Összefoglalva, számos módszert láthattunk egy fájl tartalmának törlésére a fájl törlése nélkül.

Az oktatóanyag teljes megvalósítása megtalálható a GitHub oldalon.


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