Bài giảng Công nghệ Java: Chương 8 - PhD. Trần Quang Diệu

20 15 0
Bài giảng Công nghệ Java: Chương 8 - PhD. Trần Quang Diệu

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Các lớp abstract này định nghĩa các giao tiếp cho các filter streams lọc dữ liệu trong khi đọc/ghi... Tổng quát về các Streams Ch u yển đổi b yt e  k ý tự ( Con ve rting b etwee n By [r]

(1)

CÔNG NGHỆ JAVA

CH8 JAVA INPUT/OUTPUT

Quang Dieu Tran PhD

(2)

INPUT/OUTPUT STREAMS 1. Stream concepts

2. Input Streams 3. Output Streams 4. Reader

5. Writer

(3)

Stream concepts

Data exchange

Data exchange type: Character, Object, voice,

picture, audio, video Program

(4)

Stream

Stream:

dịng thơng tin tác nhân (mức cao)

một dãy byte (mức thấp)

Một stream gắn với nguồn (source), hay đích (destination)

Stream operations:

open streamclose stream read

writeseek

Input stream: support reading functions

(5)

This image cannot currently be displayed

Hình 1: Chương trình xử lý liệu từ input stream

Hình 2: Chương trình ghi liệu output stream

(6)

Trình tự đọc/ ghi dòng

open input stream

while (more information){

read information

process information

}

close input stream

open output stream

while (more information){

get information from

write information }

close output stream

Đọc thông tin từ input stream

Ghi thông tin

(7)

Các loại stream package java.io

các lớp gói java.io được thiết kế gồm nhóm chính:

Nhóm input/output stream, hay nhóm hướng byte

(8)

Nhóm input/output stream

Được gọi nhóm hướng byte, thao tác đọc/ghi áp dụng cho nhiều byte, giới hạn xử lý các byte bits ISO-Latin-1 Rất thích hợp cần xử lý liệu nhị phân ảnh, âm thanh, binary files

Các input stream mở rộng từ lớp

InputStream (Abstract class)

Các output stream mở rộng từ lớp

(9)(10)(11)

Nhóm reader/writer

(12)(13)

Các loại stream (tt)

java IO cung cấp cách thức kết gắn stream với loại tác nhân khác nhớ, file

Các lớp InputStreamReader

OutputStreamWriter cung cấp chuyển đổi

giữa stream reader/writer

(14)

Tổng quát Streams

I/O Streams Mô tả khái quát

Memory CharArrayReader CharArrayWriter ByteArrayInput-Stream ByteArrayOutput-Stream

Đọc/ghi từ/vào nhớ.

Tạo stream từ mảng, dùng các phương thức đọc/ghi để đọc/ghi từ/vào mảng. Tác vụ đọc lấy liệu từ mảng

Tác vụ ghi ghi mảng

StringReader

StringWriter

StringBuffer-InputStream

StringReader để đọc ký tự từ một

String trong nhớ.

StringWriter để ghi vào String.

StringBufferInputStream tương tự như

StringReader Sự khác biệt là

(15)

Tổng quát Streams Pipe PipedReader PipedWriter PipedInputStream PipedOutputStream

Hiện thực thành phần input và output pipe Pipes được dùng kênh truyền, nối output thread vào input của thread khác.

File

FileReader

FileWriter

FileInputStream

FileOutputStream

Được gọi file streams File streams dùng để đọc/ghi từ/vào file trên file system.

Nối

SequenceInput-Stream

(concatenation)

(16)

Tổng quát Streams Object Serial-ization ObjectInputStream ObjectOutputStream

Dùng cần lưu trữ, khơi phục, hoặc truyền tồn đối tượng.

Chuyển đổi dạng dữ liệu (Data Conver-sion) DataInputStream DataOutputStream

Thuận tiện cần đọc/ghi kiểu liệu (primitive data types) int, double,

Counting

LineNumberReader

LineNumberInput-Stream

(17)

Tổng quát Streams

Printing PrintWriter

PrintStream

Rất thuận tiện cần kết xuất, dễ đọc với người System.out một đối tượng thuộc lớp

PrintStream. Đệm ( Buffer-ing) BufferedReader BufferedWriter bufferedInput-Stream BufferedOutput-Stream

Đệm liệu thao tác đọc/ghi.

Đệm liệu cải thiện tốc độ đọc ghi giảm số lần truy xuất thiết bị.

Lọc liệu (Filtering)

FilterReader

FilterWriter

FilterInputStream

FilterOutputStream

(18)

Tổng quát Streams Ch u yển đổi b yt e k ý tự ( Con ve rting b etwee n By tes a nd Cha racters ) InputSt reamR eade r OutputS tream Writ er

Cặp reader/writer cầu nối byte streams và character streams.

Một InputStreamReader đọc các bytes từ một

InputStream và chuyển bytes thành ký tự.

Một OutputStreamWriter chuyển ký tự sang các bytes, ghi bytes vào một OutputStream.

Quá trình chuyển đổi sử dụng mã mặc định không được định rõ.

(19)

Các lớp IO

InputStream, OutputStream, Reader Writer lớp abstract:

Các lớp input stream mở rộng từ lớp InputStream

Các lớp reader mở rộng từ lớp Reader

Các lớp output stream mở rộng từ lớp OutputStream

Các lớp writer mở rộng từ lớp Writer

2 lớp InputStream Reader cung cấp phương thức read

tương đối giống nhau.

2 lớp OutputStream Writer cung cấp phương thức

(20)

InputSream

Low-Level Input Stream Purpose of Stream

ByteArrayInputStream Reads bytes of data from an memory array

FileInputStream Reads bytes of data from a file on the local file system

PipedInputStream Reads bytes of data from a thread pipe

StringBufferInputStream Reads bytes of data from a string

SequenceInputStream Reads bytes of data from two or more low-level

streams, switching from one stream to the next when the

end of the stream is reached

Ngày đăng: 10/03/2021, 13:58

Tài liệu cùng người dùng

Tài liệu liên quan