Tổng Quan Về File Và I/O Trong Ngôn Ngữ Java - CodeGym
Có thể bạn quan tâm
NỘI DUNG BÀI VIẾT
- 1. Byte Stream
- 2. Character Stream
- 3. Standard Stream
Gói java.io chứa hầu như tất cả các lớp mà bạn cần để thực hiện đầu vào, đầu ra (I/O) trong Java. Tất cả những stream này biểu diễn nguồn đầu vào và đích đầu ra. Stream trong gói java.io hỗ trợ nhiều kiểu dữ liệu khác nhau như kiểu dữ liệu gốc, đối tượng các ký tự nội bộ,… Stream trong Java có thể được định nghĩa là một dãy dữ liệu. Có 2 loại Stream trong Java, bao gồm:
- InputStream: được sử dụng để đọc dữ liệu từ một nguồn.
- OutputStream: được sử dụng để ghi dữ liệu vào đích.
1. Byte Stream
Byte Stream trong Java được sử dụng để thực hiện đầu vào và đầu ra của các byte (8 bit). Mặc dù có nhiều lớp liên quan đến byte stream, trong đó các lớp được sử dụng thường xuyên nhất phải kể đến là FileInputStream và FileOutputStream. Ví dụ:
package com.company; import java.io.*; public class Main { public static void main(String args[]) { FileInputStream in = null; FileOutputStream out = null; try { in = new FileInputStream("E:/input.txt"); out = new FileOutputStream("E:/output.txt"); int c; while ((c = in.read()) != -1) { out.write(c); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (in != null) { try { in.close(); } catch (IOException e) { e.printStackTrace(); } } if (out != null) { try { out.close(); } catch (IOException e) { e.printStackTrace(); } } } } }Trong ví dụ trên, giả sử ta có một file input.txt tại ổ E với nội dung “BkitSoftware”. Ta sử dụng FileInputStream để đọc nội dung file input.txt, FileOutputStream để tạo và ghi nội dung “BkitSoftware” cho file output.txt.
2. Character Stream
Byte Stream trong Java được sử dụng để thực hiện đầu vào và đầu ra của các byte (8-bit), còn Character stream trong Java được sử dụng để thực hiện đầu vào và đầu ra của Unicode 16 bit.Mặc dù có nhiều lớp liên quan đến character stream, nhưng các lớp được sử dụng nhiều nhất phải kể đến là FileReader và FileWriter. Mặc dù FileReader sử dụng FileInputStream và FileWriter sử dụng FileOutputStream, nhưng có một điểm khác ở đây là FileReader đọc 2byte cùng lúc và FileWriter ghi 2 byte cùng một lúc.
Ví dụ:
package com.company; import java.io.*; public class Main { public static void main(String args[]) { FileReader in = null; FileWriter out = null; try { in = new FileReader("E:/input.txt"); out = new FileWriter("E:/output.txt"); int c; while ((c = in.read()) != -1) { out.write(c); } } catch (IOException e) { e.printStackTrace(); } finally { try { if (in != null) { in.close(); } if (out != null) { out.close(); } } catch (IOException e) { e.printStackTrace(); } } } }Kết quả thu được là file output.txt có nội dung tương tự file input.txt.
3. Standard Stream
Tất cả các ngôn ngữ lập trình cung cấp hỗ trợ chuẩn I/O, tại đây các chương trình của người dùng có thể lấy dữ liệu từ bàn phím, sau đó tạo đầu ra trên màn hình máy tính.Trong ngôn ngữ Java, người dùng được cùng cấp 3 phương thức:
- Standard Input (chuẩn đầu vào): Chuẩn này được sử dụng để nhập dữ liệu cho chương trình người dùng và thường thì bàn phím được sử dụng để làm chuẩn đầu vào và được biểu diễn là System.in.
- Standard Output (chuẩn đầu ra): Được sử dụng để xuất dữ liệu được tạo bởi chương trình người dùng và thường thì màn hình máy tính được sử dụng làm chuẩn đầu ra và được biểu diễn là System.out.
- Standard Error (lỗi chuẩn): Được sử dụng để xuất dữ liệu lỗi do chương trình tạo ra và màn hình máy tính được sử dụng để làm lỗi chuẩn và được biểu diễn dưới dạng System.err.
Ví dụ: Đọc dữ liệu nhập từ bàn phím, khi nhập kí tự ‘k’ thì kết thúc chương trình.
package com.company; import java.io.*; public class Main { public static void main(String args[]) { InputStreamReader cin = null; try { cin = new InputStreamReader(System.in); System.out.println("Nhap cac ky tu, 'k' de thoat."); char c; do { c = (char) cin.read(); System.out.print(c); } while (c != 'k'); } catch (Exception e) { } finally { try { if (cin != null) { cin.close(); } } catch (Exception e) { } } } }Tham khảo khóa học lập trình web 6 tháng, đảm bảo 100% công việc đầu ra!
Nguồn: https://vncoder.vn/bai-hoc/tong-quan-ve-file-va-io-80
Từ khóa » File Io Trong Java Là Gì
-
[Java IO - Từ Tổng Quan Tới Chi Tiết] Bài 0 : Giới Thiệu
-
Java I/O - Học Java Miễn Phí Hay Nhất - VietTuts
-
File Và I/O Trong Java - Hoclaptrinh
-
Giới Thiệu Luồng Vào Ra (I/O) Trong Java - GP Coder (Lập Trình Java)
-
File, Xử Lý đầu Vào Ra (I/O) Trong Java - Thủ Thuật
-
Tìm Hiểu Java IO - Team Việt Dev
-
Java IO Gì Mà Linh Tinh Quá Vậy? - Deft Blog
-
Làm Việc Với File Trong Java
-
Lớp InputStream Và OutputStream Trong Java - Góc Học IT
-
[PDF] Java IO Stream - CSE
-
File Và I/O Trong Java - đọc Và Ghi File Trong Java
-
[PDF] Bài 11: Input Và Output - HUST
-
Lập Trình Java Căn Bản - Chương 5 Input – Output Trong Java
-
Hướng Dẫn Sử Dụng Luồng Vào Ra Ký Tự Trong Java - VietMX's Blog