Bài 13: Đọc và ghi file dùng luồng byte trong

byte-stream

– Với cách đọc ghi này ta tạo một luồng Byte gắn với file chỉ định dùng FileInputStream và FileOutputStream.
– Để mở một file, đơn giản chỉ cần tạo một đối tượng của những lớp này, tên file cần mở là thông số trong constructor. Khi file mở, việc đọc và ghi dữ liệu trên file được thực hiện một cách bình thường thông qua các phương thức cung cấp trong luồng.

1. Đọc dữ liệu từ file dùng luồng byte:

– Mở một file để đọc dữ liệu FileInputStream(String fileName) throws FileNotFoundException. Nếu file không tồn tại: thì ném ra FileNotFoundException.
– Đọc dữ liệu: dùng phương thức read():
int read( ) throws IOException: đọc từng byte từ file và trả về giá trị của byte đọc được. Trả về -1 khi hết file, và ném ra IOException khi có lỗi đọc.
– Đóng file: dùng phương thức close():
void close( ) throws IOException: sau khi làm việc xong cần đóng file để giải phóng tài nguyên hệ thống đã cấp phát cho file.

Ví dụ:

2. Ghi dữ liệu xuống file dùng luồng byte:

– Mở một file để ghi dữ liệu FileOutputStream(String fileName) throws FileNotFoundException
Nếu file không tạo được: thì ném ra FileNotFoundException
– Ghi dữ liệu xuống: dùng phương thức write():
void write(int byteval) throws IOException: ghi một byte xác định bởi tham số byteval xuống file, và ném ra IOException khi có lỗi ghi.
– Đóng file: dùng phương thức close():
void close( ) throws IOException: sau khi làm việc xong cần đóng file để giải phóng tài nguyên hệ thống đã cấp phát cho file.

Ví dụ: Chương trình sẽ tự tạo file “E:\\output.txt”, ghi vào các ký tự từ a -> z

3. Copy file trong Java:

Dưới đây là 1 chương trình đơn giản để copy file trong Java, nó chưa thực sự tối ưu vì mình thấy tốc độ của nó rất chậm. Bạn có thể dùng để copy bất cứ định dạng nào, không phải chỉ riêng file văn bản! Nó dùng cách đọc ghi file dùng luồng byte như trên!

 

Avatar

Nguyễn Linh

Chia sẻ để cùng tiến bộ...