Sök…


Syntax

  • ny BufferedWriter (Writer); // Standardkonstruktören
  • BufferedWriter.write (int c); // Skriver en enda karaktär
  • BufferedWriter.write (String str); // Skriver en sträng
  • BufferedWriter.newLine (); // Skriver en radavskiljare
  • BufferedWriter.close (); // Stänger BufferedWriter

Anmärkningar

  • Om du försöker skriva från en BufferedWriter (med BufferedWriter.write() ) efter att du har stängt BufferedWriter (med BufferedWriter.close() ) kommer det att kasta en IOException .
  • BufferedWriter(Writer) -konstruktören kastar INTE en IOException . FileWriter(File) -konstruktören kastar emellertid en FileNotFoundException , som utvidgar IOException . Så att fånga IOException kommer också att fånga FileNotFoundException , det finns aldrig något behov av ett andra fångstmeddelande om du inte planerar att göra något annat med FileNotFoundException .

Skriv en rad med text till File

Den här koden skriver strängen till en fil. Det är viktigt att stänga författaren, så detta görs i ett finally block.

  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();
      }
    }
  }

Observera också att write(String s) inte placerar nylinjetecken efter att strängen har skrivits. För att uttrycka det använder du newLine() -metoden.

Java SE 7

Java 7 lägger till java.nio.file paketet och försök med resurser :

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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow