Lớp Java BufferedWriter

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về Java BufferedWriter và các phương thức của nó với sự trợ giúp của các ví dụ.

Các BufferedWriterlớp của java.iogói có thể được sử dụng với các tác giả khác để ghi dữ liệu (bằng ký tự) hiệu quả hơn.

Nó mở rộng lớp trừu tượng Writer.

Hoạt động của BufferedWriter

Các BufferedWriterduy trì một nội đệm 8192 ký tự .

Trong quá trình ghi, các ký tự được ghi vào bộ đệm bên trong thay vì đĩa. Khi bộ đệm được lấp đầy hoặc bộ ghi được đóng, toàn bộ ký tự trong bộ đệm sẽ được ghi vào đĩa.

Do đó, số lượng thông tin liên lạc đến đĩa bị giảm. Đây là lý do tại sao sử dụng các ký tự nhanh hơn BufferedWriter.

Tạo một BufferedWriter

Để tạo một BufferedWriterjava.io.BufferedWritertrước tiên chúng ta phải nhập gói. Sau khi chúng tôi nhập gói ở đây là cách chúng tôi có thể tạo trình viết được đệm.

// Creates a FileWriter
FileWriter file = new FileWriter(String name);

// Creates a BufferedWriter
BufferedWriter buffer = new BufferedWriter(file);

Trong ví dụ trên, chúng ta đã tạo một vùng đệmBufferedWriter được đặt tên với tệp được đặt tên .FileWriter

Ở đây, bộ đệm bên trong của BufferedWritercó kích thước mặc định là 8192 ký tự. Tuy nhiên, chúng tôi cũng có thể chỉ định kích thước của bộ đệm bên trong.

// Creates a BufferedWriter with specified size internal buffer
BufferedWriter buffer = new BufferedWriter(file, int size);

Bộ đệm sẽ giúp ghi các ký tự vào tệp hiệu quả hơn.

Các phương thức của BufferedWriter

Các BufferedWriterlớp học cung cấp triển khai cho các phương pháp khác nhau hiện diện trong Writer.

viết phương pháp

  • write() – writes a single character to the internal buffer of the writer
  • write(char[] array) – writes the characters from the specified array to the writer
  • write(String data) – writes the specified string to the writer

Ví dụ: BufferedWriter để ghi dữ liệu vào một tệp

import java.io.FileWriter;
import java.io.BufferedWriter;

public class Main {

  public static void main(String args[]) {

    String data = "This is the data in the output file";

    try {
      // Creates a FileWriter
      FileWriter file = new FileWriter("output.txt");

      // Creates a BufferedWriter
      BufferedWriter output = new BufferedWriter(file);

      // Writes the string to the file
      output.write(data);

      // Closes the writer
      output.close();
    }

    catch (Exception e) {
      e.getStackTrace();
    }
  }
}

Trong ví dụ trên, chúng ta đã tạo một trình ghi đệm có tên là đầu ra cùng với FileWriter. Trình ghi trong bộ đệm được liên kết với tệp output.txt .

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

Để ghi dữ liệu vào tệp, chúng tôi đã sử dụng write()phương pháp.

Ở đây khi chúng tôi chạy chương trình, tệp output.txt chứa nội dung sau.

This is a line of text inside the file.

phương thức flush ()

Để xóa bộ đệm bên trong, chúng ta có thể sử dụng flush()phương pháp. Phương thức này buộc người viết ghi tất cả dữ liệu có trong bộ đệm vào tệp đích.

Ví dụ, giả sử chúng ta có một tệp trống có tên là output.txt .

import java.io.FileWriter;
import java.io.BufferedWriter;

public class Main {
  public static void main(String[] args) {

    String data = "This is a demo of the flush method";

    try {
      // Creates a FileWriter
      FileWriter file = new FileWriter(" flush.txt");

      // Creates a BufferedWriter
      BufferedWriter output = new BufferedWriter(file);

      // Writes data to the file
      output.write(data);

      // Flushes data to the destination
      output.flush();
      System.out.println("Data is flushed to the file.");

      output.close();
    }

    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Đầu ra

Data is flushed to the file.

Khi chúng tôi chạy chương trình, tệp output.txt được điền bằng văn bản được biểu thị bằng dữ liệu chuỗi .

phương thức close ()

Để đóng trình ghi trong bộ đệm, chúng ta có thể sử dụng close()phương pháp này. Khi close()phương thức được gọi, chúng ta không thể sử dụng trình viết để ghi dữ liệu.

Các phương pháp khác của BufferedWriter

MethodDecfscription
newLine()inserts a new line to the writer
append()inserts the specified character to the current writer

Để tìm hiểu thêm, hãy truy cập Java BufferedWriter (tài liệu Java chính thức) .









Gõ tìm kiếm nhanh...