cuốn sách gpt4 ai đã làm

java - DataInputStream.read() 与 DataInputStream.readFully()

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 03:43:22 28 4
mua khóa gpt4 Nike

Tôi đang tạo một ứng dụng ổ cắm TCP/IP đơn giản

Điều này tạo ra sự khác biệt gì:

DataInputStream in = new DataInputStream(clientSocket.getInputStream());

bộ đệm byte[] = byte mới[100];
in.readFully(bộ đệm);

So với việc làm này:

DataInputStream in = new DataInputStream(clientSocket.getInputStream());

bộ đệm byte[] = byte mới[100];
in.read(bộ đệm);

Tôi đã xem tài liệu và chúng có mô tả giống hệt nhau. đọc đầy đủ()read()Vì vậy, tôi có thể cho rằng đó là điều tương tự?

câu trả lời hay nhất

DataInput.readFully(byte[] b) Javadoc nêu rõ:

Đọc một số byte từ luồng đầu vào và lưu chúng vào mảng bộ đệm b. Số byte đọc được bằng độ dài của b.

DataInputStream.read(byte[] b) Javadoc nêu rõ:

Đọc một số byte từ luồng đầu vào được chứa và lưu chúng vào mảng bộ đệm b. Số byte thực sự đọc được trả về dưới dạng số nguyên. Phương thức này chặn cho đến khi có sẵn dữ liệu đầu vào, phát hiện thấy phần cuối của tệp hoặc đưa ra một ngoại lệ..

về cơ bản,đọc đầy đủ() sẽ đọc chính xác b.chiều dài byte, trong khi read() sẽ đọchầu hết b.chiều dài, có thể ít hơn, bất cứ thứ gì có sẵn trong luồng đầu vào.

Về java - DataInputStream.read() so với DataInputStream.readFully(), chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/25897627/

28 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress