Ngoài cỏc cụng cụ thao tỏc trờn file văn bản, Java hỗ trợ cả cỏc thao tỏc với file nhị phõn dựng cỏc đối tượng:
DataOutputStream: Hỗ trợ ghi file ở chế độ nhị phõn tức là từng byte. DataInputStream: Hỗ trợ đọc file ở chế độ nhị phõn.
Tất nhiờn là cỏc file văn bản cũng cú thể đọc ghi ở chế độ nhị phõn. Chương trỡnh sau đõy copy dữ liệu giữa hai file dạng .doc:
import java.io.*;
public class BinaryAccess {
public static void main(String[] argvs) {
java.io.DataOutputStream out; // Luồng ra hỗ trợ ghi file nhị phõn java.io.DataInputStream in; // Luồng vào hỗ trợ đọc file nhị phõn try
{
in = new java.io.DataInputStream(new FileInputStream("C:\\P.doc")); out = new java.io.DataOutputStream(new FileOutputStream("C:\\G.doc")); int bytesAvailable = in.available(); // số byte của file
if (bytesAvailable > 0) {
byte[] data = new byte[bytesAvailable];
in.read(data); // Đọc cỏc byte ra một mảng byte
out.write(data); // Ghi mảng byte này vào một file khỏc }
in.close(); out.close(); }
catch (Exception ex) {}
}}
Bài tập
1. Viết một chương trỡnh nhập vào một chuỗi từ bàn phớm sau đú ghi chuỗi ra file. 2. Cho một file cú dữ liệu về thớ sinh thi hoa hậu như sau:
001, Tran Thi Mong Mo, 1.98, Ha Tay 002, Bựi Thị Thanh Nhàn, 1.89, Ha Noi 003, Nguyen Thu Thuy, 1.70, Ha Nam
009, Phan Anh Thu, 1.78, Thanh Hoa
Cỏc dữ liệu lần lượt mụ tả về: Mó số, Họ và tờn, chiều cao, Quờ quỏn.
Viết một chương trỡnh đọc dữ liệu của file ra và gỏn mỗi dũng cho một đối tượng HOAHAU.
3. Viết một chương trỡnh copy dữ liệu từ một file văn bản sang một file văn bản khỏc. 4. Viết chương trỡnh copy dữ liệu từ một file ảnh GIF sang một file ảnh GIF khỏc.