Java FileWriter
1. Pregled
U ovom uputstvu naučit ćemo i razumjeti FileWriter razred prisutan u java.io paket.
2. FileWriter
FileWriter jespecijalizirani OutputStreamWriter za pisanje datoteka znakova. Ne izlaže nikakve nove operacije, ali radi s operacijama naslijeđenim od OutputStreamWriter i Pisac razreda.
Do Jave 11, FileWriter radio sa zadanim kodiranjem znakova i zadanom veličinom bafera bajta. Međutim, Java 11 predstavila je četiri nova konstruktora koji prihvaćaju a Charset, dopuštajući time korisnički definirano Charset. Nažalost, još uvijek ne možemo izmijeniti veličinu bajtnog međuspremnika i postavljena je na 8192.
2.1. Instantiranje FileWriter
Postoji pet konstruktora u FileWriter klase ako koristimo Java verziju prije Java 11.
Bacimo pogled na razne konstruktore:
javni FileWriter (String fileName) baca IOException {super (novi FileOutputStream (fileName)); } javni FileWriter (Niz datotekeName, logički dodatak) baca IOException {super (novi FileOutputStream (Ime datoteke, dodavanje)); } javni FileWriter (datoteka datoteke) baca IOException {super (novi FileOutputStream (datoteka)); } javni FileWriter (datoteka datoteke, logički dodatak) baca IOException {super (novi FileOutputStream (datoteka, dodavanje)); } javni FileWriter (FileDescriptor fd) {super (novi FileOutputStream (fd)); }
Java 11 predstavila je četiri dodatna konstruktora:
javni FileWriter (String fileName, charset charset) baca IOException {super (novi FileOutputStream (fileName), charset); } javni FileWriter (string fileName, charset charset, boolean append) baca IOException {super (novi FileOutputStream (fileName, append), charset); } javni FileWriter (datoteka datoteka, charset charset) baca IOException {super (novi FileOutputStream (datoteka), charset); } javni FileWriter (datoteka, datoteka charset, logički dodatak) baca IOException {super (novi FileOutputStream (datoteka, dodavanje), charset); }
2.2. Pisanje a Niz u datoteku
Koristimo sada jedan od FileWriter konstruktori za stvaranje instance FileWriter a zatim napišite u datoteku:
probajte (FileWriter fileWriter = novi FileWriter ("src / test / resources / FileWriterTest.txt")) {fileWriter.write ("Zdravo narode!"); }
Koristili smo konstruktor jednog argumenta za FileWriter koji prihvaća naziv datoteke. Zatim koristimo zapis (niz str) operacija naslijeđena od Pisac razred. Budući da je FileWriter je AutoCloseable, koristili smo try-with-resources tako da ne moramo zatvoriti FileWriter eksplicitno.
Pri izvršavanju gornjeg koda, Niz bit će zapisano u navedenu datoteku:
Pozdrav narode!
The FileWriter ne garantira hoće li datoteka FileWriterTest.txt biti dostupna ili će biti stvorena. Ovisi o osnovnoj platformi.
Moramo također napomenuti da određene platforme mogu dopustiti samo jednu FileWriter instanci za otvaranje datoteke. U tom su slučaju ostali konstruktori FileWriter klasa neće uspjeti ako je datoteka koja je već otvorena.
2.3. Dodavanje a Niz u datoteku
Često moramo dodavati podatke postojećem sadržaju datoteke. Pogledajmo sada primjer a FileWriter koji podržava dodavanje:
probajte (FileWriter fileWriter = novi FileWriter ("src / test / resources / FileWriterTest.txt", istina)) {fileWriter.write ("Pozdrav narode!"); }
Kao što vidimo, koristili smo konstruktor s dva argumenta koji prihvaća ime datoteke i boolean zastava dodati. Donoseći zastavu dodati kao pravi stvara a FileWriter koji nam omogućuje dodavanje teksta postojećem sadržaju datoteke.
Nakon izvršavanja koda, imat ćemo Niz dodan postojećem sadržaju navedene datoteke:
Pozdrav narode! Pozdrav narode opet!
3. Zaključak
U ovom smo članku saznali o praktičnoj klasi FileWriter i nekoliko načina na koje FileWriter može se stvoriti. Zatim smo ga koristili za upisivanje podataka u datoteku.
Kao i uvijek, cjeloviti izvorni kôd vodiča dostupan je na GitHub-u.