Đang chuẩn bị liên kết để tải về tài liệu:
Programming - Lập Trình Giao Thức, Đường WAN Phần 5
Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ
Tải xuống
Cách 2 Một cách dễ hơn để đọc một tệp tin là ánh xạ vào một vùng đệm. Ưu điểm cho của cách tiếp cận này là vùng đệm tự động lưu nội dung của tệp tin. Không cần thao tác đọc cụ thể nào. Các bước thực hiện Bước 1: Mở một tệp tin bằng cách sử dụng luồng FileInputStream | Nhan kich thuoc tep tin fSize fc.size Phan bo mot vung dem co kich thuoc can thiet bb ByteBuffer.allocate int fSize Doc tep tin vao vung dem fc.read bb Mo tep de doc bb.rewind for int i 0 i fSize i System.out.print char bb.get fc.close fis.close catch IOException e System.out.println e Kết quả thực hiện chương trình C MyJava javac ChannelRead.java C MyJava java ChannelRead Bai3.java class Bai3 public static void main String args double x 42 System.out.println x 42 3 3 3 - 3 3 Cách 2 Một cách dễ hơn để đọc một tệp tin là ánh xạ vào một vùng đệm. Ưu điểm cho của cách tiếp cận này là vùng đệm tự động lưu nội dung của tệp tin. Không cần thao tác đọc cụ thể nào. Các bước thực hiện Bước 1 Mở một tệp tin bằng cách sử dụng luồng FileInputStream Bước 2 Nhận một kênh tới tệp tin đó bằng cách gọi phương thức getChannel trên đối tượng FileInputStream. Bước 3 Ánh xạ kênh với một vùng đệm bằng cách gọi phương thức map trên đối tượng FileChannel. Phương thức map có dạng như sau 78 . . sưu tẩm bời http ebook.7pop.net Sưu tâm bởi MappedByteBuffer map FileChannel.MapMode how long pos long size throws lOException Phương thức map làm cho dữ liệu trong tệp tin được ánh xạ vàơo vùng đệm trong bộ nhớ. Tham số how xác định kiểu thao tác đưỢc phép thực hiện trên tệp tin MapMode.READ MapMode.READ_ WRITE MapMode.PRIVATE Để đọc một tệp tin ta dùng chế đọ MapMode.READ. Để đọc và ghi tệp ta dùng chế độ MapMode.READ_WRlTE. Chế độ MapMode.PRIVATE chỉ làm cho một ban sao riêng của một tệp bị thay đổi và những thay đổi này không ảnh hưởng tới tệp tin. Vị trí trong tệp tin bắt đầu ánh xạ được xác định bởi tham số pos và số byte ánh xạ được xác định bởi size. Phương thức trả về là một tham chiếu MappedByteBuffer là một lớp con của ByteBuffer. Mỗi khi tệp tin được ánh xạ vào vùng đệm ta có thể đọc tệp từ vùng đệm. import java.io. import java.nio. import java.nio.channels. public class MappedChannelRead public static void main String args FileInputStream fis FileChannel fc MappedByteBuffer mbb long .