Java FileWriter (met voorbeelden)

In deze tutorial leren we met behulp van voorbeelden over Java FileWriter en zijn methoden.

De FileWriterklasse van het java.iopakket kan worden gebruikt om gegevens (in tekens) naar bestanden te schrijven.

Het breidt de OutputStreamWriterklas 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.FileWriterpakket 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 Charsetklasse gebruikt om de tekencodering van de bestandsschrijver te specificeren.

Methoden van FileWriter

De FileWriterklasse biedt implementaties voor verschillende methoden die in de Writerklasse aanwezig zijn.

write () methode

  • write() - schrijft een enkel personage naar de schrijver
  • write(char() array) - schrijft de tekens uit de opgegeven array naar de schrijver
  • write(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).

Interessante artikelen...