In deze tutorial leren we met behulp van voorbeelden over Java FileWriter en zijn methoden.
De FileWriter
klasse van het java.io
pakket kan worden gebruikt om gegevens (in tekens) naar bestanden te schrijven.
Het breidt de OutputStreamWriter
klas uit.
Voordat u er meer over leert FileWriter
, moet u Java File kennen.
Maak een FileWriter
Om een bestandsschrijver te maken, moeten we het Java.io.FileWriter
pakket eerst importeren . Zodra we het pakket hebben geïmporteerd, kunnen we als volgt de bestandsschrijver maken.
1. Gebruik de naam van het bestand
FileWriter output = new FileWriter(String name);
Hier hebben we een bestandsschrijver gemaakt die zal worden gekoppeld aan het bestand dat met de naam wordt gespecificeerd.
2. Gebruik een object van het bestand
FileWriter input = new FileWriter(File fileObj);
Hier hebben we een bestandsschrijver gemaakt die zal worden gekoppeld aan het bestand dat wordt gespecificeerd door het object van het bestand.
In het bovenstaande voorbeeld worden de gegevens opgeslagen met behulp van een standaard tekencodering.
Sinds Java 11 kunnen we echter ook het type tekencodering ( UTF8 of UTF16 ) specificeren .
FileWriter input = new FileWriter(String file, Charset cs);
Hier hebben we de Charset
klasse gebruikt om de tekencodering van de bestandsschrijver te specificeren.
Methoden van FileWriter
De FileWriter
klasse biedt implementaties voor verschillende methoden die in de Writer
klasse aanwezig zijn.
write () methode
write()
- schrijft een enkel personage naar de schrijverwrite(char() array)
- schrijft de tekens uit de opgegeven array naar de schrijverwrite(String data)
- schrijft de opgegeven string naar de schrijver
Voorbeeld: FileWriter om gegevens naar een bestand te schrijven
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(); ) ) )
In het bovenstaande voorbeeld hebben we een bestandsschrijver gemaakt met de naam output. De outputlezer is gekoppeld aan het output.txt- bestand.
FileWriter output = new FileWriter("output.txt");
Om gegevens naar het bestand te schrijven, hebben we de write()
methode gebruikt.
Hier wanneer we het programma uitvoeren, wordt het bestand output.txt gevuld met de volgende inhoud.
This is a line of text inside the file.
getEncoding () - methode
De getEncoding()
methode kan worden gebruikt om het type codering op te halen dat wordt gebruikt om gegevens te schrijven. Bijvoorbeeld,
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(); ) ) )
Uitvoer
De tekencodering van output1: Cp1252 De tekencodering van output2: UTF8
In het bovenstaande voorbeeld hebben we 2 bestandsschrijvers gemaakt met de naam output1 en output2.
- output1 specificeert niet de tekencodering. Daarom
getEncoding()
retourneert de methode de standaard tekencodering. - output2 specificeert de tekencodering, UTF8 . Daarom
getEncoding()
retourneert de methode de opgegeven tekencodering.
Opmerking : we hebben de Charset.forName()
methode gebruikt om het type tekencodering te specificeren. Voor meer informatie, bezoek Java Charset (officiële Java-documentatie).
close () Methode
Om de bestandsschrijver te sluiten, kunnen we de close()
methode gebruiken. Zodra de close()
methode is aangeroepen, kunnen we de schrijver niet gebruiken om de gegevens te schrijven.
Andere methoden van FileWriter
Methode | Omschrijving |
---|---|
flush() | dwingt om alle gegevens in de schrijver naar de overeenkomstige bestemming te schrijven |
append() | voegt het opgegeven teken in de huidige schrijver in |
Ga voor meer informatie naar Java FileWriter (officiële Java-documentatie).