Szukaj…


Składnia

  • nowy BufferedWriter (Writer); // Domyślny konstruktor
  • BufferedWriter.write (int c); // Zapisuje pojedynczy znak
  • BufferedWriter.write (String str); // Zapisuje ciąg
  • BufferedWriter.newLine (); // Zapisuje separator linii
  • BufferedWriter.close (); // Zamyka BufferedWriter

Uwagi

  • Jeśli spróbujesz pisać z BufferedWriter (używając BufferedWriter.write() ) po zamknięciu BufferedWriter (używając BufferedWriter.close() ), IOException .
  • Konstruktor BufferedWriter(Writer) NIE IOException . Jednak konstruktor FileWriter(File) zgłasza FileNotFoundException , który rozszerza IOException . Tak więc przechwytywanie IOException spowoduje również przechwycenie FileNotFoundException , dlatego nigdy nie jest potrzebna druga instrukcja catch, chyba że planujesz zrobić coś innego z FileNotFoundException .

Napisz wiersz tekstu do pliku

Ten kod zapisuje ciąg do pliku. Ważne jest, aby zamknąć program do pisania, więc odbywa się to w bloku finally .

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

Zauważ też, że write(String s) nie umieszcza znaku nowej linii po napisaniu łańcucha. Aby to newLine() użyj metody newLine() .

Java SE 7

Java 7 dodaje pakiet java.nio.file i 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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow