Java FileWriter
1. Áttekintés
Ebben az oktatóanyagban megtanuljuk és megértjük a FileWriter osztály jelen van a java.io csomag.
2. FileWriter
FileWriter egyspecializált OutputStreamWriter karakterfájlok írására. Nem mutat ki új műveleteket, de a programtól örökölt műveletekkel működik OutputStreamWriter és Író osztályok.
Java 11-ig a FileWriter az alapértelmezett karakterkódolással és az alapértelmezett bájtpuffer méretével dolgozott. Azonban, A Java 11 négy új konstruktort mutatott be, amelyek elfogadják a Charset, ezáltal a felhasználó által meghatározott Charset. Sajnos továbbra sem tudjuk módosítani a bájtpuffer méretét, és ez 8192-re van állítva.
2.1. A FileWriter
Öt kivitelező van a FileWriter osztály, ha Java verziót használunk a Java 11 előtt.
Vessünk egy pillantást a különféle kivitelezőkre:
public FileWriter (karakterlánc fájlnév) dobja az IOException {super (new FileOutputStream (fileName)) parancsot; } public FileWriter (String fájlnév, logikai függelék) dobja az IOException {super (new FileOutputStream (fileName, append)); } public FileWriter (Fájl fájl) dobja az IOException {super (új FileOutputStream (fájl)) parancsot; } public FileWriter (Fájlfájl, logikai függelék) dobja az IOException {super (new FileOutputStream (file, append)) parancsot; } public FileWriter (FileDescriptor fd) {super (új FileOutputStream (fd)); }
A Java 11 négy további konstruktort mutatott be:
public FileWriter (karakterlánc fájlnév, karakterkészlet-karakterkészlet) dobja az IOException {super (új FileOutputStream (fileName), karakterkészlet); } public FileWriter (karakterlánc fájlnév, karakterkészlet-karakterkészlet, logikai függelék) dobja az IOException {super (new FileOutputStream (fileName, append), karakterkészlet); } public FileWriter (Fájl fájl, Charset karakterkészlet) dobja az IOException {super (új FileOutputStream (fájl), karakterkészlet); } public FileWriter (Fájlfájl, Jelkészlet-karakterkészlet, logikai függelék) az IOException-t dobja {super (új FileOutputStream (fájl, melléklet), karakterkészlet); }
2.2. Írás a Húr fájlba
Most használjuk az egyiket FileWriter konstruktorok egy példányának létrehozására FileWriter majd írjon egy fájlba:
próbáld meg (FileWriter fileWriter = new FileWriter ("src / test / resources / FileWriterTest.txt")) {fileWriter.write ("Hello emberek!"); }
Felhasználtuk a FileWriter amely elfogad egy fájlnevet. Ezután használjuk a ír (String str) operációtól örökölt Író osztály. Mivel a FileWriter van Automatikusan zárható, a try-with-resources-t használtuk, hogy ne kelljen bezárnunk a FileWriter kifejezetten.
A fenti kód végrehajtásakor a Húr a megadott fájlba kerül:
Helló emberek!
A FileWriter nem garantálja, hogy a FileWriterTest.txt fájl elérhető lesz vagy létrejön. Ez függ a mögöttes platformtól.
Azt is meg kell jegyeznünk, hogy bizonyos platformok csak egyetlen példányt engedélyezhetnek FileWriter a fájl megnyitásához. Ebben az esetben a FileWriter osztály meghiúsul, ha az érintett fájl már nyitva van.
2.3. Függelék a Húr fájlba
Gyakran adatokat kell csatolnunk egy fájl meglévő tartalmához. Lássunk most egy példát a FileWriter amely támogatja a csatolást:
próbálkozzon (FileWriter fileWriter = new FileWriter ("src / test / resources / FileWriterTest.txt", igaz)) {fileWriter.write ("Helló emberek még egyszer!"); }
Mint láthatjuk, a két argumentumú konstruktort használtuk, amely elfogad egy fájlnevet és egy logikai zászló mellékel. A zászló átadása mellékel mint igaz létrehoz egy FileWriter amely lehetővé teszi számunkra, hogy szöveget fűzzünk egy fájl meglévő tartalmához.
A kód végrehajtásakor megkapjuk a Húr a megadott fájl meglévő tartalmához csatolva:
Helló emberek! Helló emberek megint!
3. Következtetés
Ebben a cikkben megtudtuk a kényelmi osztályt FileWriter és néhány módon, amellyel a FileWriter létrehozható. Ezután adatokat írtunk egy fájlba.
Mint mindig, az oktatóanyag teljes forráskódja elérhető a GitHubon.