Zoeken…


Syntaxis

  • nieuwe BufferedWriter (Writer); // De standaardconstructor
  • BufferedWriter.write (int c); // Schrijft een enkel teken
  • BufferedWriter.write (String str); // Schrijft een tekenreeks
  • BufferedWriter.newLine (); // Schrijft een lijnscheidingsteken
  • BufferedWriter.close (); // Sluit de BufferedWriter

Opmerkingen

  • Als u probeert te schrijven van een BufferedWriter (met BufferedWriter.write() ) na het sluiten van de BufferedWriter (met BufferedWriter.close() ), wordt een IOException .
  • De constructor BufferedWriter(Writer) gooit GEEN IOException . De constructor FileWriter(File) gooit echter een FileNotFoundException , waardoor IOException . Dus vangen van IOException zal ook FileNotFoundException vangen, er is nooit een tweede FileNotFoundException nodig tenzij je van plan bent om iets anders te doen met de FileNotFoundException .

Schrijf een regel tekst naar Bestand

Deze code schrijft de tekenreeks naar een bestand. Het is belangrijk om de schrijver te sluiten, dus dit gebeurt in een finally blok.

  public void writeLineToFile(String str) throws IOException {
    File file = new File("file.txt");
    BufferedWriter bw = null;
    try {
      bw = new BufferedWriter(new FileWriter(file));
      bw.write(str);
    } finally {
      if (bw != null) {
        bw.close();
      }
    }
  }

Merk ook op dat write(String s) geen teken van een nieuwe regel plaatst nadat de string is geschreven. Gebruik de methode newLine() .

Java SE 7

Java 7 voegt het pakket java.nio.file , en try-with-resources :

public void writeLineToFile(String str) throws IOException {
    Path path = Paths.get("file.txt");
    try (BufferedWriter bw = Files.newBufferedWriter(path)) {
        bw.write(str);
    }
}


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow