Bài 8: Luồng vào ra<br />
<br />
Lê Hồng Phương<br />
phuonglh@gmail.com<br />
Khoa Toán-Cơ-Tin học<br />
Trường Đại học Khoa học Tự nhiên Hà Nội<br />
<br />
Nội dung<br />
●<br />
<br />
Tổng quan về luồng vào ra<br />
<br />
●<br />
<br />
Các kiểu luồng vào ra:<br />
–<br />
<br />
Luồng byte<br />
<br />
–<br />
<br />
Luồng kí tự<br />
<br />
–<br />
<br />
Luồng có đệm<br />
<br />
–<br />
<br />
Luồng dữ liệu<br />
<br />
–<br />
<br />
Luồng đối tượng<br />
<br />
2012-2013<br />
<br />
Object-Oriented Programming: I/O Streams<br />
<br />
2<br />
<br />
Luồng vào ra<br />
●<br />
<br />
Luồng vào ra (input/output streams – IO streams)<br />
–<br />
<br />
●<br />
<br />
Có nhiều kiểu nguồn và đích:<br />
–<br />
<br />
●<br />
<br />
Biểu diễn một nguồn vào và một đích ra<br />
tệp trên đĩa, thiết bị, chương trình, bộ nhớ<br />
<br />
Có nhiều kiểu dữ liệu khác nhau:<br />
–<br />
<br />
các bytes<br />
<br />
–<br />
<br />
các kiểu dữ liệu đơn giản<br />
<br />
–<br />
<br />
các đối tượng<br />
<br />
2012-2013<br />
<br />
Object-Oriented Programming: I/O Streams<br />
<br />
3<br />
<br />
Luồng vào ra<br />
●<br />
<br />
Định nghĩa tổng quát: mỗi luồng là một chuỗi dữ liệu.<br />
<br />
●<br />
<br />
Mỗi chương trình thường sử dụng:<br />
–<br />
<br />
Một luồng vào để đọc dữ liệu từ một nguồn, mỗi<br />
lần đọc một đơn vị dữ liệu.<br />
<br />
–<br />
<br />
Một luồng ra để ghi dữ liệu ra một đích, mỗi lần<br />
ghi một đơn vị dữ liệu.<br />
stream<br />
Data source<br />
<br />
2012-2013<br />
<br />
010111000111<br />
<br />
Object-Oriented Programming: I/O Streams<br />
<br />
Program<br />
<br />
4<br />
<br />
Luồng vào ra<br />
●<br />
<br />
●<br />
<br />
Các chương trình sử dụng luồng byte để đọc/ghi các<br />
byte (8 bits).<br />
Trong Java, có nhiều lớp luồng byte. Các lớp này đều<br />
phái sinh từ hai lớp:<br />
–<br />
–<br />
<br />
●<br />
<br />
InputStream<br />
OutputStream<br />
<br />
Khi đọc/ghi dữ liệu byte từ/vào tệp, ta sử dụng<br />
–<br />
<br />
FileInputStream<br />
<br />
–<br />
<br />
FileOutputStream<br />
<br />
2012-2013<br />
<br />
Object-Oriented Programming: I/O Streams<br />
<br />
5<br />
<br />