Luồng nhập xuất là gì?Các loại luồng .Phân cấp lớp luồng .Dùng Stream để điều khiển luồng nhập xuấtByte streamsCharacter streamsBuffered streamsStandard IO streamsData streamsObject streamsLớp File .....Lớp trừu tượng OutputStream public void write(int b) throws IOExceptionGhi giá trị b xác nhận theo dạng byte xuống output stream public void write(byte b) throws IOExceptionLưu nội dung ca mảng byte b xuống luồng....
1 Java IO Stream 2 Nội dung Luồng nhập xuất là gì? Các loại luồng Phân cấp lớp luồng Dùng Stream để điều khiển luồng nhập xuất. Byte streams Character streams Buffered streams Standard I/O streams Data streams Object streams Lớp File 3 Khái niệm luồng? Luồng là một “dòng chảy” của dữ liệu được gắn với các thiết bị vào ra. Hai loại luồng: Luồng nhập: Gắn với các thiết bị nhập như bàn phím, máy scan, file Luồng xuất: Gắn với các thiết bị xuất như màn hình, máy in, file Việc xử lý vào ra thông qua luồng giúp cho lập trình viên không phải quan tâm đến bản chất của thiết bị vào ra. 4 Input Stream Chương trình sử dụng input stream để đọc dữ liệu từ nguồn. 5 Output Stream Chương trình sử dụng output stream để ghi dữ liệu xuống đích. 6 Các loại luồng Character and Byte Streams Character vs. Byte Input and Output Streams Dựa trên nguồn và đích Node and Filter Streams Khi dữ liệu trong luồng được thao tác hoặc chuyển đổi. 7 Character and Byte Streams Byte streams Cho dữ liệu dạng nhị phân Những lớp gốc cho các byte stream: Lớp InputStream Lớp OutputStream Cả 2 lớp là trừu tượng (Abstract) Character streams Cho các ký tự Unicode Những lớp gốc cho character stream: Lớp Reader Lớp Writer Cả 2 lớp là trừu tượng (Abstract) 8 Input and Output Streams Input or source streams Có thể đọc từ những nguồn này. Những lớp gốc của tất cả các input stream: Lớp InputStream Lớp Reader Output or destination streams Có thể ghi xuống những luồng này Những lớp gốc của tất cả các output stream: Lớp OutputStream Lớp Writer 9 Node and Filter Streams Node streams (Data sink stream) Chứa những chức năng cơ bản cho việc đọc và ghi từ một vị trí xác định. Các loại node stream bao gồm file, bộ nhớ và pipe Filter streams (Processing stream) Luồng lọc có khả năng kết nối với các luồng khác và xử lý dữ liệu “theo cách riêng” của nó. FilterInputStream và FilterOutputStream là 2 lớp luồng lọc cơ bản. 10 Hierarchy of classes and interfaces Object File FileDescriptor RandomAccessFileDataInput DataOutput DataInput Stream Buffered InputStream LineNumber InputStream PushBack InputStream Filter InputStream InputStream ByteArray InputStream FileInput Stream OutputStream FileOutput Stream Filter OutputStream ByteArray OutputStream Buffered OutputStream DataOutput Stream Print Stream [...]... try { inputStream = new FileReader(“d:/fileIn.txt"); outputStream = new FileWriter(“d:/fileOut.txt"); int c; while ((c = inputStream.read()) != -1) { outputStream.write(c);} } finally { if (inputStream != null) { inputStream.close(); } if (outputStream != null) { outputStream.close(); } } } } 31 Character Stream và Byte Stream Character stream thư ng là "wrappers“ cho byte stream Character stream s d... m t l p stream có b đ m Ví d : inputStream = new BufferedReader(new FileReader("characterinput.txt")); outputStream = new BufferedWriter(new FileWriter("characteroutput.txt")); 34 Buffered Stream Classes BufferedInputStream và BufferedOutputStream t o ra byte stream có b đ m BufferedReader và BufferedWriter t o ra character stream có b đ m 35 Standard Streams on Java Platform Có 3 standard stream Input:... IOException Đ c m t ký t public int read(char[] cbuf) throws IOException Đ c nh ng ký t và lưu chúng vào m ng cbuf public abstract int read(char[] cbuf, int off, int len) throws IOException Đ c len ký t và lưu chúng vào tron m ng cbuf, b t đ u t i v trí off c a m ng public abstract void close() throws IOException Đóng lu ng G i nh ng phương th c Reader khác c a sau khi g i close s gây ra l i IOException... l l o Y OutputStream 29 Character Stream Java platform lưu tr nh ng giá tr ký t theo d ng Unicode T t c các l p character stream đư c k th a t Reader và Writer Có các l p character stream : FileReader và FileWriter 30 Example: FileReader & FileWriter public class CopyCharacters { public static void main(String[] args) throws IOException { FileReader inputStream = null; FileWriter outputStream = null;... throws IOException Lưu len byte c a m ng byte b xu ng lu ng, b t đ u t v trí off c a m ng public void close() throws IOException Đóng ngu n G i nh ng phương th c khác liên quan đ n ngu n này sau khi g i close se gây ra l i IOException public void flush() throws IOException flushes the stream. (ví d : Nh ng byte đư c lưu trong buffer ngay l p t c đư c ghi xu ng đích) 16 Node OutputStream Classes FileOuputStream...Hierarchy of classes and interfaces Object Reader Buffered Reader Filter Reader CharArray Reader LineNumberReader Writer Piped Reader String Reader InputStream Reader FileReader Buffered Writer CharArray Writer Filter Writer Piped Writer OutputStream Writer String Writer Print Writer Print Stream PushbackReader 11 Abstract Classes InputStream & OutputStream Reader & Writer 12 InputStream Abstract... serialization Serializes object and primitve data to OuputStream DataOutputStream A subclass of FilterOutputStream that lets an application write Java primitive data to underlying output stream in machine-independent way PrintStream A subclass of FilteOutputStream that provides capability for printing representations of various data values conveniently 18 The Reader Class: Methods public int read() throws IOException... streams, which may transform the basic source data along the way and provide additional functionalities ObjectInputStream Used for object serialization Deserializes objects and previuosly written using an ObjectOutputStream DataInputStream A subclass of FilterInputStream that lets an application read Java primitive data from underlying inputstream in a machine-independent way LineNumberInputStream A subclass... Byte Stream Byte Stream th hi n m t lo i d li u nh p xu t m c th p do đó chúng ta nên tránh: N u d li u ch a nh ng ký t , phương pháp t t nh t là s d ng character streams Có nh ng stream cho nh ng ki u d li u ph c t p Byte Stream ch nên s d ng cho h u h t nh ng nh p xu t nguyên th y T t c các stream khác đ u đư c d a trên byte stream 27 Example: FileInputStream & FileOutputStream import java. io. *;... n(data-destination) Đưa ra đ i tư ng lu ng v i ch c năng mong mu n thông qua chu i lu ng (Give the stream object the desired functionality through stream chaining) Đóng lu ng 25 Byte Stream Chương trình s d ng lu ng byte đ th c hi n nh p xu t nh ng byte 8-bit T t c cá l p lu ng byte đư c k th a t InputStream và OutputStream Có nhi u l p lu ng byte FileInputStream và FileOutputStream Chúng đư c s d ng trong