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.