Lớp Java FileReader

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

Các FileReaderlớp của java.iogói có thể được sử dụng để đọc dữ liệu (bằng ký tự) từ các tập tin.

Nó mở rộng InputSreamReaderlớp học.

Trước khi tìm hiểu FileReader, hãy đảm bảo rằng bạn biết về Tệp Java .

Tạo một FileReader

Để tạo một trình đọc tệp, java.io.FileReadertrướ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 đọc tệp.

1. Sử dụng tên của tệp

FileReader input = new FileReader(String name);

Ở đây, chúng tôi đã tạo một trình đọc tệp sẽ được liên kết với tệp được chỉ định bởi tên .

2. Sử dụng một đối tượng của tệp

FileReader input = new FileReader(File fileObj);

Ở đây, chúng tôi đã tạo một trình đọc tệp sẽ được liên kết với tệp được chỉ định bởi đối tượng của tệp.

Trong ví dụ trên, dữ liệu trong tệp được lưu trữ bằng cách sử dụng một số mã hóa ký tự mặc định.

Tuy nhiên, kể từ Java 11, chúng tôi cũng có thể chỉ định kiểu mã hóa ký tự ( UTF-8 hoặc UTF-16 ) trong tệp.

FileReader input = new FileReader(String file, Charset cs);

Ở đây, chúng tôi đã sử dụng Charsetlớp để chỉ định mã hóa ký tự của trình đọc tệp.

Phương thức của FileReader

Các FileReaderlớp học cung cấp triển khai cho các phương pháp khác nhau trình bày trong Readerlớp.

phương thức read ()

  • read() – reads a single character from the reader
  • read(char[] array) – reads the characters from the reader and stores in the specified array
  • read(char[] array, int start, int length) – reads the number of characters equal to length from the reader and stores in the specified array starting from the position start

Ví dụ, giả sử chúng ta có một tệp tên input.txt với nội dung như sau.

This is a line of text inside the file.

Hãy thử đọc tệp bằng cách sử dụng FileReader.

import java.io.FileReader;

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

    // Creates an array of character
    char[] array = new char[100];

    try {
      // Creates a reader using the FileReader
      FileReader input = new FileReader("input.txt");

      // Reads characters
      input.read(array);
      System.out.println("Data in the file: ");
      System.out.println(array);

      // Closes the reader
      input.close();
    }

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

Đầu ra

Data in the file:
This is a line of text inside the file.

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

FileInputStream input = new FileInputStream("input.txt");

Để đọc dữ liệu từ tệp, chúng tôi đã sử dụng read()phương pháp.

Phương thức getEncoding ()

Các getEncoding()phương pháp có thể được sử dụng để có được các loại mã hóa được sử dụng để lưu trữ dữ liệu trong file. Ví dụ,

import java.io.FileReader;
import java.nio.charset.Charset;

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

    try {
      // Creates a FileReader with default encoding
      FileReader input1 = new FileReader("input.txt");

      // Creates a FileReader specifying the encoding
      FileReader input2 = new FileReader("input.txt", Charset.forName("UTF8"));

      // Returns the character encoding of the file reader
      System.out.println("Character encoding of input1: " + input1.getEncoding());
      System.out.println("Character encoding of input2: " + input2.getEncoding());

      // Closes the reader
      input1.close();
      input2.close();
    }

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

Đầu ra

The character encoding of input1: Cp1252
The character encoding of input2: UTF8

Trong ví dụ trên, chúng ta đã tạo 2 trình đọc tệp có tên là input1 và input2 .

  • input1 does not specify the character encoding. Hence the getEncoding() method returns the default character encoding.
  • input2 specifies the character encoding, UTF8. Hence the getEncoding() method returns the specified character encoding.

Lưu ý : Chúng tôi đã sử dụng Charset.forName()phương pháp để chỉ định loại mã hóa ký tự. Để tìm hiểu thêm, hãy truy cập Java Charset (tài liệu Java chính thức) .

phương thức close ()

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

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

MethodDecfscription
ready()checks if the file reader is ready to be read
mark()mark the position in file reader up to which data has been read
reset()returns the control to the point in the reader where the mark was set

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









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