Rate this post

Nhập xuất (I/O) trong Java là việc đọc và ghi dữ liệu từ các nguồn khác nhau như file, mạng, thiết bị ngoại vi, v.v. Java cung cấp một số lớp và interface để hỗ trợ việc nhập xuất dữ liệu.

  • java.io package cung cấp các lớp và interface để hỗ trợ việc nhập xuất dữ liệu từ file, như FileInputStream, FileOutputStream, v.v.
  • java.nio package cung cấp các lớp và interface để hỗ trợ việc nhập xuất dữ liệu từ file và mạng, như FileChannel, SocketChannel, v.v.
  • java.net package cung cấp các lớp và interface để hỗ trợ việc nhập xuất dữ liệu qua mạng, như URL, URLConnection, v.v.
  • java.util.Scanner là một lớp hỗ trợ đọc dữ liệu từ nhiều nguồn khác nhau, như file, màn hình, v.v.

Java cũng hỗ trợ việc nhập xuất dữ liệu dựa trên mô hình nhập xuất đối tượng (Object Input/Output) thông qua các lớp ObjectInputStream và ObjectOutputStream.

Các bài viết liên quan:

Ví dụ 1: Đọc dữ liệu từ file

FileInputStream inputStream = new FileInputStream("example.txt");
int data = inputStream.read();
while(data != -1) {
    System.out.print((char) data);
    data = inputStream.read();
}
inputStream.close();

Ví dụ 2: Ghi dữ liệu vào file

FileOutputStream outputStream = new FileOutputStream("example.txt");
outputStream.write("Hello World".getBytes());
outputStream.close();

Ví dụ 3: Đọc dữ liệu từ màn hình

Scanner scanner = new Scanner(System.in);
System.out.print("Enter your name: ");
String name = scanner.nextLine();
System.out.println("Hello, " + name);
scanner.close();

Ví dụ 4: Ghi dữ liệu dưới dạng đối tượng vào file

Person person = new Person("John", "Doe", 25);
FileOutputStream fos = new FileOutputStream("person.bin");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(person);
oos.close();

Các ví dụ trên chỉ là một số ví dụ cơ bản về việc nhập xuất dữ liệu trong Java, trong thực tế có rất nhiều cách khác để thực hiện nhập xuất dữ liệu trong Java

Ví dụ 5: Đọc dữ liệu từ mạng

URL url = new URL("https://example.com");
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
String line;
while((line = reader.readLine()) != null) {
    System.out.println(line);
}
reader.close();

Ví dụ 6: Ghi dữ liệu vào mạng

URL url = new URL("https://example.com");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setRequestMethod("POST");
OutputStream os = connection.getOutputStream();
os.write("Hello World".getBytes());
os.flush();
os.close();

Ví dụ 7: Đọc dữ liệu dưới dạng đối tượng từ file

FileInputStream fis = new FileInputStream("person.bin");
ObjectInputStream ois = new ObjectInputStream(fis);
Person person = (Person) ois.readObject();
System.out.println(person.getFirstName() + " " + person.getLastName());
ois.close();

Trong các ví dụ trên, chúng ta đã tìm hiểu về cách sử dụng các lớp và interface trong java.io, java.nio, java.net packages để thực hiện các thao tác nhập xuất dữ liệu từ file, mạng, màn hình và dưới dạng đối tượng. Cần lưu ý rằng, để tối ưu hóa và bảo mật, chúng ta nên đóng các luồng sau khi không còn sử dụng nữa bằng cách gọi close() method. Ngoài ra, còn có rất nhiều lớp và interface khác trong các package khác của Java để hỗ trợ việc nhập xuất dữ liệu, ví dụ như java.sql.ResultSet để lấy dữ liệu từ cơ sở dữ liệu, v.v.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now