Thông tin tài liệu:
Cùng nắm kiến thức trong chương này thông qua việc tìm hiểu các nội dung sau: Stream concepts, Input Streams, Output Streams, Reader, Writer, Object Serialization, Object Input, Stream Object, Output Stream,...
Nội dung trích xuất từ tài liệu:
Bài giảng Công nghệ Java: Chương 8 - Trần Quang Diệu CÔNGNGHỆJAVA CH8.JAVAINPUT/OUTPUT QuangDieuTranPhD03/06/18 1INPUT/OUTPUT STREAMS1. Streamconcepts2. InputStreams3. OutputStreams4. Reader5. Writer6. ObjectSerialization7. ObjectInputStream8. ObjectOutputStream03/06/18 2 Stream concepts File information Program Memory Network• Data exchange Program• Data exchange type: Character, Object, voice, picture, audio, video... 03/06/18 3Stream• Stream: – dòngthôngtingiữa2tácnhân(mứccao) – mộtdãytuầntựcácbyte(mứcthấp)• Mộtstreamđượcgắnvớimộtnguồn(source),haymộtđích (destination)• Streamoperations: – openstream – closestream – read – write – seek• Inputstream:supportreadingfunctions• Outputstream:supportwritingfunctions• Filterstream:buffer03/06/18 4Input & Output Stream Hình1:Chươngtrìnhxửlýdữliệutừ1inputstream Hình2:Chươngtrìnhghidữliệuraoutputstream03/06/18 5Trình tự đọc/ ghi dòngopen input streamwhile (more information){ Đọcthôngtin read information process information từinputstream}close input stream open output stream while (more information){ get information from ...Ghithôngtin write informationvàooutputstream } close output stream03/06/18 6 Các loại stream trong package java.io• cáclớptronggóijava.iođượcthiếtkếgồm2nhómchính: – Nhóminput/outputstream,haynhómhướngbyte – Nhómreader/writer,haynhómhướngkýtự(unicode) 03/06/18 7Nhóm input/output stream• Đượcgọilànhómhướngbyte,vìthaotác đọc/ghiápdụngcho1hoặcnhiềubyte,chỉgiới hạnxửlýcácbyte8bitsISOLatin1.Rấtthích hợpkhicầnxửlýdữliệunhịphânnhưảnh,âm thanh,binaryfiles...• Cácinputstreamđượcmởrộngtừlớp InputStream(Abstractclass)• Cácoutputstreamđượcmởrộngtừlớp OutputStream(Abstractclass)03/06/18 8Nhóm input stream03/06/18 9Nhóm output stream03/06/18 10 Nhóm reader/writer• Được gọi là nhóm hướng ký tự, vì thao tác đọc/ghi áp dụng cho 1 hoặc nhiều ký tự Unicode (1 character = 2bytes) 03/06/18 11Nhóm Writer03/06/18 12Các loại các stream (tt)• java IO cũng cung cấp cách thức kết gắn stream với các loại tác nhân khác như bộ nhớ, file ...• Các lớp InputStreamReader và OutputStreamWriter cung cấp sự chuyển đổi giữa stream và reader/writer• Xem bảng phân loại tóm tắt để biết thêm chi tiết03/06/18 13Tổng quát về các StreamsI/O Streams MôtảkháiquátMemory CharArrayReader Đọc/ghitừ/vàobộnhớ. CharArrayWriter Tạo stream từ một mảng, tiếp theo dùng các ByteArrayInput- phươngthứcđọc/ghiđểđọc/ghitừ/vàomảng. Stream ByteArrayOutput- Tácvụđọcsẽlấydữliệutừmảng Stream Tácvụghisẽghiramảng StringReader StringReader để đọc các ký tự từ một StringWriter Stringtrongbộnhớ. StringBuffer- StringWriterđểghivàoString. InputStream StringBufferInputStreamtươngtựnhư StringReader.Sựkhácbiệtchỉlà StringBufferInputStreamđọccácbytes từmộtđốitượngStringBuffer03/06/18 14Tổng quát về các Streams PipedReader Hiệnthựccácthànhphầninputvà PipedWriter output của một pipe. Pipes đượcPipe PipedInputStream dùng như một kênh truyền, nối PipedOutputStream output của một thread vào input củamộtthreadkhác. FileReader Được gọi là các file streams. File FileWriter streamsdùngđểđọc/ghitừ/vàofileFile FileInputStream trênfilesystem. FileOutputStream SequenceInput- Nối nhiều input ...