Stream

Luồng là những dòng lưu chuyển, là một lộ trình mà dữ liệu được truyền trong chương trình. Khi luồng luồng dữ liệu được gởi và nhận như đọc và ghi luồng dữ liệu đó.

Có các luồng cơ bản:

  • Luồng byte: hộ trợ việc truy xuất trên byte thường được đọc ghi dưới dạng nhị phân – tất cả luồng byte đều là lớp con của InputStream OutputStream và chuyên dùng cho file là FileInputStream FileOutputStream.
  • Luồng ký tự: hộ trợ việc lưu trữ theo bảng mã Unicode – tất cả luồng ký tự đều là lớp con của ReaderWriter, luồng chuyên dùng cho tập tin là FileReaderFileWriter

Note: Luồng ký tự thường bao lấy luống byte, dùng luồng byte ra vào cấp độ vật lý công việc còn lại của ký tự là dịch giữa byte và ký tự.

* Việc làm việc trực tiếp với file dẫn đến tình trạng như: chậm, tổn hai ổ cứng, không an toàn

Để khắc phục Java cung cấp có ta vùng đêm để ra vào và làm việc với File, việc chuyển được thực hiện:

  • BufferedInputStream

  • BufferedOutputStream
  • BufferedReader
  • BufferedWriter

ví dụ: Dùng BufferedInputStream bao lấy FileReader


BufferedInputStream bis = new BufferedInputStream(new FileReader("test.txt"));

Scanner: dùng để ngắt dữ liệu, thông thường Scanner dùng khoảng trắng để ngắt.

DataInputStream, DataOutputStream: Đọc nghi dữ liệu dưới kiểu nhị phân

ObjectInputStream, ObjectOutputStrea: Đọc nghi đối tượng

ví dụ: Dùng DataOutputStream ghi dữ liệu:


ObjectOutputStream out = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream("File.txt")));

 

 

 

 

 

 

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s