Nội dung chính
Input/Output trong java
Java I/O hay Input/Output trong java được sử dụng để xử lý đầu vào và đầu ra trong java.
Java sử dụng khái niệm stream để làm cho hoạt động I/O nhanh hơn. Gói java.io chứa tất cả các lớp cần thiết cho hoạt động input và output.
Khái niệm về stream
Một stream là một dãy dữ liệu. Trong java, một stream bao gồm các byte. Nó được gọi là stream (dòng chảy) vì nó giống như một dòng nước chảy liên tục.
Trong java, 3 stream được tạo cho chúng ta một cách tự động. Tất cả các stream này được gắn với console.
1) System.out: output stream tiêu chuẩn
2) System.in: input stream tiêu chuẩn
3) System.err: error stream tiêu chuẩn
Chúng ta hãy xem đoạn mã để in thông báo output và error tới console.
System.out.println("simple message"); System.err.println("error message");
Còn đoạn code dưới đây lấy giá trị input từ console
int i=System.in.read();//tra ve ma ASCII cua ky tu dau tien System.out.println((char)i);//in ky tu lay duoc ra man hinh
Các lớp OutputStream với InputStream
Giải thích về các lớp OutputStream và InputStream được trình bày như dưới đây:
OutputStream
Ứng dụng Java sử dụng một output stream để ghi dữ liệu đến đích, nó có thể là một tệp tin, một mảng, thiết bị ngoại vi hoặc socket.
InputStream
Ứng dụng Java sử dụng một input stream để đọc dữ liệu từ một nguồn, nó có thể là một tệp tin, một mảng, thiết bị ngoại vi hoặc socket.
Hoạt động của của Java OutputStream và InputStream được mô tả trong hình dưới đây.
Lớp OutputStream
Lớp OutputStream là một lớp trừu tượng. Nó là super class của tất cả các lớp đại diện cho một output stream của các byte. Một output stream chấp nhận ouput các byte và gửi chúng đến một nơi có thể chứa.
Các phương thức của lớp OutputStream
Method | Description |
---|---|
1) public void write(int)throws IOException | được sử dụng để ghi một byte đến output stream hiện tại. |
2) public void write(byte[])throws IOException | được sử dụng để ghi một mảng các byte đến output stream hiện tại. |
3) public void flush()throws IOException | flush output stream hiện tại. |
4) public void close()throws IOException | được sử dụng để đóng output stream hiện tại. |
OutputStream Hierarchy
Lớp InputStream
Lớp InputStream là một lớp trừu tượng. Nó là super class của tất cả các lớp đại diện cho một input stream của các byte.
Các phương thức của lớp InputStream
Method | Description |
---|---|
1) public abstract int read()throws IOException | Đọc byte kế tiếp của dữ liệu từ input stream. Nó trả về -1 khi đọc đến vị trí cuối tập tin. |
2) public int available()throws IOException | Trả về một ước tính về số byte có thể đọc được từ input stream hiện tại. |
3) public void close()throws IOException | được sử dụng để đóng input stream hiện tại. |