Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

Java FileWriter-klasse

Java FileWriter-klasse

In deze zelfstudie leren we over Java FileWriter en zijn methoden aan de hand van voorbeelden.

De FileWriter klasse van de java.io pakket kan worden gebruikt om gegevens (in tekens) naar bestanden te schrijven.

Het verlengt de OutputStreamWriter klasse.

Voordat je meer te weten komt over FileWriter , zorg ervoor dat u op de hoogte bent van Java File.


Een FileWriter maken

Om een ​​bestandsschrijver te maken, moeten we de Java.io.FileWriter . importeren pakket eerst. Zodra we het pakket hebben geïmporteerd, kunnen we als volgt de bestandsschrijver maken.

1. De naam van het bestand gebruiken

FileWriter output = new FileWriter(String name);

Hier hebben we een bestandsschrijver gemaakt die wordt gekoppeld aan het bestand dat is opgegeven met de naam .

2. Een object van het bestand gebruiken

FileWriter  input = new FileWriter(File fileObj);

Hier hebben we een bestandsschrijver gemaakt die wordt gekoppeld aan het bestand dat is opgegeven 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 het type tekencodering specificeren (UTF8 of UTF16 ) ook.

FileWriter input = new FileWriter(String file, Charset cs);

Hier hebben we de Charset . gebruikt class om de tekencodering van de bestandsschrijver te specificeren.


Methoden van FileWriter

De FileWriter class biedt implementaties voor verschillende methoden die aanwezig zijn in de Writer klasse.

write()-methode

  • write() - schrijft een enkel teken naar de schrijver
  • write(char[] array) - schrijft de karakters van 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 uitvoerlezer is gekoppeld aan de output.txt bestand.

FileWriter output = new FileWriter("output.txt");

Om gegevens naar het bestand te schrijven, hebben we de write() . gebruikt methode.

Hier wanneer we het programma uitvoeren, de output.txt bestand is 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 te krijgen 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

The character encoding of output1: Cp1252
The character encoding of output2: UTF8

In het bovenstaande voorbeeld hebben we 2 bestandsschrijvers gemaakt met de naam output1 en output2 .

  • uitvoer1 specificeert niet de tekencodering. Vandaar de getEncoding() methode retourneert de standaard tekencodering.
  • uitvoer2 specificeert de tekencodering, UTF8 . Vandaar de getEncoding() methode retourneert de opgegeven tekencodering.

Opmerking :We hebben de Charset.forName() . gebruikt methode om het type tekencodering op te geven. Ga voor meer informatie naar Java Charset (officiële Java-documentatie).


close() Methode

Om de bestandsschrijver te sluiten, kunnen we de close() . gebruiken methode. Zodra de close() methode wordt aangeroepen, kunnen we de schrijver niet gebruiken om de gegevens te schrijven.


Andere methoden van FileWriter

Methode Beschrijving
flush() dwingt om alle gegevens in de schrijver naar de corresponderende bestemming te schrijven
append() voegt het opgegeven teken in bij de huidige schrijver

Ga voor meer informatie naar Java FileWriter (officiële Java-documentatie).


Java

  1. Java laatste trefwoord
  2. Java-instantie van Operator
  3. Java-erfenis
  4. Java geneste statische klasse
  5. Java anonieme klasse
  6. Java Singleton-klasse
  7. Java-reflectie
  8. Java ObjectOutputStream-klasse
  9. Java BufferedReader-klasse
  10. Java-generieken
  11. Java-bestandsklasse