Tự học Java | Lớp PrintWriter trong Java » https://final-blade.com

Trong hướng dẫn này, tất cả chúng ta sẽ tìm hiểu và khám phá về PrintWriter trong Java và những phương pháp print ( ) và printf ( ) của nó với sự trợ giúp của những ví dụ .

lớp PrintWriter của gói java.io có thể được sử dụng để ghi dữ liệu đầu ra trong một hình thức phổ biến có thể đọc được (văn bản).

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

1. Hoạt động của PrintWriter

Không giống như những tác giả khác, PrintWriter quy đổi tài liệu nguyên thủy ( int, float, char, vv ) sang định dạng văn bản. Sau đó, nó ghi tài liệu đã định dạng đó cho người viết .
Ngoài ra, lớp PrintWriter không ném bất kể ngoại lệ đầu vào / đầu ra nào. Thay vào đó, tất cả chúng ta cần sử dụng phương pháp checkError ( ) để tìm bất kể lỗi nào trong đó .

Lưu ý : Lớp PrintWriter cũng có tính năng tự động xả nước. Điều này có nghĩa là nó buộc người viết ghi tất cả dữ liệu vào đích nếu một trong các phương thức println()hoặc printf() được gọi.

2. Tạo một PrintWriter

Để tạo trình viết in, thứ nhất tất cả chúng ta phải nhập gói java.io. PrintWriter. Khi tất cả chúng ta nhập gói ở đây là cách chúng tôi hoàn toàn có thể tạo trình viết in .

1. Sử dụng các nhà văn khác

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

// Creates a PrintWriter
PrintWriter output = new PrintWriter(file, autoFlush);

Đây ,

  • chúng ta đã tạo một trình ghi in sẽ ghi dữ liệu vào tệp được đại diện bởi FileWriter
  • autoFlush là một tham số tùy chọn chỉ định có thực hiện xả tự động hay không

2. Sử dụng các luồng đầu ra khác

// Creates a FileOutputStream
FileOutputStream file = new FileOutputStream("output.txt");

// Creates a PrintWriter
PrintWriter output = new PrintWriter(file, autoFlush);

Đây ,

  • chúng tôi đã tạo một trình ghi in sẽ ghi dữ liệu vào tệp được đại diện bởi FileOutputStream
  • các autoFlush là một tham số tùy chọn chỉ định có thực hiện xả tự động hay không

3. Sử dụng tên tệp

// Creates a PrintWriter
PrintWriter output = new PrintWriter(String file, boolean autoFlush);

Đây ,

  • chúng tôi đã tạo một trình ghi in sẽ ghi dữ liệu vào tệp được chỉ định
  • các autoFlush là một tham số boolean tùy chọn chỉ định có thực hiện xả tự động hay không

Lưu ý : Trong tất cả các trường hợp trên, PrintWriter dữ liệu ghi vào tệp bằng cách sử dụng một số mã hóa ký tự mặc định. Tuy nhiên, chúng tôi cũng có thể chỉ định mã hóa ký tự ( UTF8 hoặc UTF16 ).

// Creates a PrintWriter using some character encoding
PrintWriter output = new PrintWriter(String file, boolean autoFlush, Charset cs);

Ở đây, chúng tôi đã sử dụng lớp Bộ mã để chỉ định mã hóa ký tự. Để biết thêm, hãy truy vấn Java Charset ( tài liệu Java chính thức ) .

3. Phương thức của PrintWriter

lớp PrintWriter phân phối phương pháp khác nhau mà được cho phép chúng tôi để in tài liệu đến đầu ra .

3.1 Phương thức print ( )

print ( ) – in tài liệu được chỉ định cho người viết

  • println() – in dữ liệu cho người viết cùng với một ký tự dòng mới ở cuối

Ví dụ ,

/*
Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
@author cafedevn
Contact: [email protected]
Fanpage: https://www.facebook.com/cafedevn
Group: https://www.facebook.com/groups/cafedev.vn/
Instagram: https://instagram.com/cafedevn
Twitter: https://twitter.com/CafedeVn
Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
Pinterest: https://www.pinterest.com/cafedevvn/
YouTube: https://www.youtube.com/channel/UCE7zpY_SlHGEgo67pHxqIoA/
*/

import java.io.PrintWriter;

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

    String data = "This is a text inside the file.";

    try {
      PrintWriter output = new PrintWriter("output.txt");

      output.print(data);
      output.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

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

PrintWriter output = new PrintWriter("output.txt");

Để in tài liệu ra tệp, chúng tôi đã sử dụng phương pháp print ( ) .

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

This is a text inside the file.

3.2 Phương thức printf ( )

phương pháp printf ( ) hoàn toàn có thể được sử dụng để in những chuỗi định dạng. Nó gồm có 2 tham số : chuỗi được định dạng và những đối số. Ví dụ ,

printf("I am %d years old", 25);

Đây ,

  • Tôi %d tuổi là một chuỗi được định dạng
  • %d là dữ liệu số nguyên trong chuỗi được định dạng
  • 25 là một đối số

Chuỗi được định dạng gồm có cả văn bản và tài liệu. Và, những đối số thay thế sửa chữa tài liệu bên trong chuỗi được định dạng .

Do đó, % d được thay thế bằng 25 .

3.3 Ví dụ : phương pháp printf ( ) sử dụng PrintWriter

import java.io.PrintWriter;

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

    try {
      PrintWriter output = new PrintWriter("output.txt");

      int age = 25;

      output.printf("I am %d years old.", age);
      output.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

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

PrintWriter output = new PrintWriter("output.txt");

Để in văn bản đã định dạng vào tệp, chúng tôi đã sử dụng phương pháp printf ( ) này .

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

I am 25 years old.

4. Các phương thức PrintWriter khác

phương thức Sự miêu tả
close() đóng cửa nhà văn in
checkError() kiểm tra xem có lỗi trong trình viết hay không và trả về kết quả boolean
append() nối dữ liệu được chỉ định vào trình ghi

Để khám phá thêm, hãy truy vấn Java PrintWriter ( tài liệu Java chính thức ) .

Cài ứng dụng cafedev để dễ dàng cập nhật tin và học lập trình mọi lúc mọi nơi tại đây.

Nguồn và Tài liệu tiếng anh tham khảo:

Tài liệu từ cafedev:

Nếu bạn thấy hay và hữu dụng, bạn hoàn toàn có thể tham gia những kênh sau của cafedev để nhận được nhiều hơn nữa :
Chào thân ái và quyết thắng !

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!