Šajā apmācībā mēs ar piemēru palīdzību uzzināsim par Java FileWriter un tā metodēm.
FileWriter
No klases java.io
paketē var izmantot, lai rakstītu datus (rakstzīmes) līdz failus.
Tas paplašina OutputStreamWriter
klasi.
Pirms uzzināt vairāk par FileWriter
, pārliecinieties, vai zināt par Java failu.
Izveidojiet FileWriter
Lai izveidotu failu rakstītāju, mums vispirms jāimportē Java.io.FileWriter
pakotne. Kad pakotne ir importēta, šeit mēs varam izveidot failu rakstītāju.
1. Izmantojot faila nosaukumu
FileWriter output = new FileWriter(String name);
Šeit mēs esam izveidojuši failu rakstītāju, kas būs saistīts ar failu, kuru norāda nosaukums.
2. Izmantojot faila objektu
FileWriter input = new FileWriter(File fileObj);
Šeit mēs esam izveidojuši failu rakstītāju, kas būs saistīts ar faila objekta norādīto failu.
Iepriekš minētajā piemērā dati tiek glabāti, izmantojot kādu noklusējuma rakstzīmju kodējumu.
Tomēr kopš Java 11 mēs varam norādīt arī rakstzīmju kodēšanas veidu ( UTF8 vai UTF16 ).
FileWriter input = new FileWriter(String file, Charset cs);
Šeit mēs izmantojām Charset
klasi, lai norādītu failu rakstītāja rakstzīmju kodējumu.
FileWriter metodes
FileWriter
Klase nodrošina implementācijas dažādām metodēm prezentēt šajā Writer
klasē.
write () metode
write()
- raksta rakstniekam vienu varoniwrite(char() array)
- raksta rakstniekam rakstzīmes no norādītā masīvawrite(String data)
- raksta rakstniekam norādīto virkni
Piemērs: FileWriter, lai ierakstītu datus failā
import java.io.FileWriter; public class Main ( public static void main(String args()) ( String data = "This is the data in the output file"; try ( // Creates a FileWriter FileWriter output = new FileWriter("output.txt"); // Writes the string to the file output.write(data); // Closes the writer output.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) )
Iepriekš minētajā piemērā mēs esam izveidojuši failu rakstītāju ar nosaukumu output. Izejas lasītājs ir saistīts ar failu output.txt .
FileWriter output = new FileWriter("output.txt");
Lai ierakstītu datus failā, mēs izmantojām write()
metodi.
Šeit, palaižot programmu, fails output.txt tiek aizpildīts ar šādu saturu.
This is a line of text inside the file.
getEncoding () metode
getEncoding()
Metodi var izmantot, lai iegūtu kodēšanas veids, kas tiek izmantots, lai rakstītu datus. Piemēram,
import java.io.FileWriter; import java.nio.charset.Charset; class Main ( public static void main(String() args) ( String file = "output.txt"; try ( // Creates a FileReader with default encoding FileWriter output1 = new FileWriter(file); // Creates a FileReader specifying the encoding FileWriter output2 = new FileWriter(file, Charset.forName("UTF8")); // Returns the character encoding of the reader System.out.println("Character encoding of output1: " + output1.getEncoding()); System.out.println("Character encoding of output2: " + output2.getEncoding()); // Closes the reader output1.close(); output2.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Rezultāts
Output1: Cp1252 rakstzīmju kodējums: output2: UTF8
Iepriekš minētajā piemērā mēs esam izveidojuši 2 failu rakstītājus ar nosaukumu output1 un output2.
- output1 nenorāda rakstzīmju kodējumu. Tādējādi
getEncoding()
metode atgriež noklusējuma rakstzīmju kodējumu. - output2 norāda rakstzīmju kodējumu UTF8 . Tādējādi
getEncoding()
metode atgriež norādīto rakstzīmju kodējumu.
Piezīme . Mēs izmantojām Charset.forName()
metodi, lai norādītu rakstzīmju kodēšanas veidu. Lai uzzinātu vairāk, apmeklējiet Java Charset (oficiālā Java dokumentācija).
aizvērt () metode
Lai aizvērtu failu rakstītāju, mēs varam izmantot close()
metodi. Kad close()
metode ir izsaukta, mēs nevaram izmantot rakstītāju datu rakstīšanai.
Citas FileWriter metodes
Metode | Apraksts |
---|---|
flush() | liek rakstīt visus rakstītājā esošos datus uz attiecīgo galamērķi |
append() | ievieto norādīto rakstzīmi pašreizējam rakstītājam |
Lai uzzinātu vairāk, apmeklējiet Java FileWriter (oficiālā Java dokumentācija).