Java I/O - Đọc file với lớp DataInputStream

Đọc file trong java với lớp DataInputStream

Lớp DataInputStream trong java cho phép một ứng dụng đọc dữ liệu nguyên thủy từ luồng đầu vào một cách độc lập với máy.

Ứng dụng Java thường sử dụng DataOutputStream để ghi dữ liệu mà sau này có thể được đọc bởi một DataInputStream.

Khai báo của lớp DataInputStream

Dưới đây là khi báo của lớp Java.io.DataInputStream:

public class DataInputStream extends FilterInputStream implements DataInput

Các phương thức của lớp DataInputStream

Phương thức Mô tả
int read(byte[] b) Nó được sử dụng để đọc mảng byte từ input stream.
int read(byte[] b, int off, int len) Nó được sử dụng để đọc len byte dữ liệu bắt đầu từ off từ input stream.
int readInt() ó được sử dụng để đọc các byte đầu vào và trả về một giá trị int.
byte readByte() Nó được sử dụng để đọc và trả lại một byte đầu vào.
char readChar() Nó được sử dụng để đọc hai byte đầu vào và trả về một giá trị char.
double readDouble() Nó được sử dụng để đọc tám byte đầu vào và trả về một giá trị double.
boolean readBoolean() Nó được sử dụng để đọc một byte đầu vào và trả về true nếu byte khác zero, false nếu byte là zero.
int skipBytes(int x) Nó được sử dụng để bỏ qua x các byte dữ liệu từ input stream.
String readUTF() INó được sử dụng để đọc một chuỗi đã được mã hóa bằng cách sử dụng định dạng UTF-8.
void readFully(byte[] b) Nó được sử dụng để đọc byte từ input stream và lưu trữ chúng vào mảng đệm.
void readFully(byte[] b, int off, int len) Nó được sử dụng để đọc len byte từ vị trí off từ input stream.

Ví dụ về đọc file trong java với lớp DataInputStream

import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
 
public class DataInputStreamExample {
    public static void main(String[] args) throws IOException {
        InputStream input = null;
        DataInputStream dis = null;
        try {
            input = new FileInputStream("D:\\testout.txt");
            dis = new DataInputStream(input);
            int count = input.available();
            byte[] arr = new byte[count];
            dis.read(arr);
            for (byte bt : arr) {
                char k = (char) bt;
                System.out.print(k + "-");
            }
        } catch (IOException ex) {
 
        } finally {
            dis.close();
        }
    }
}

 Giả sử file "testout.txt" có nội dung như sau:

JAVA

Output:

J-A-V-A