Java BufferedWriter (Với các ví dụ)

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 BufferedWriter, java.io.BufferedWritertrước tiên chúng ta phải nhập gói. 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 BufferedWriterbộ đệm được đặt tên với FileWritertệp được đặt tên.

Ở đâ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() - ghi một ký tự vào bộ đệm bên trong của người viết
  • write(char() array) - ghi các ký tự từ mảng được chỉ định vào trình viết
  • write(String data) - ghi chuỗi được chỉ định cho người viết

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 tôi đã 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 ta 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

 Dữ liệu được chuyển vào tệp. 

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

phương pháp Sự miêu tả
newLine() chèn một dòng mới cho người viết
append() chèn ký tự được chỉ định cho người viết hiện tại

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

thú vị bài viết...