Làm việc với nhập/xuất (input/output) là một phần quan trọng trong việc phát triển ứng dụng Java. Nó cho phép bạn tương tác với người dùng và thực hiện việc đọc và ghi dữ liệu từ các nguồn và đích khác nhau. Dưới đây là một hướng dẫn về cách làm việc với nhập/xuất trong Java:
Xuất dữ liệu ra màn hình
Sử dụng phương thức System.out.print()
để in dữ liệu mà không xuống dòng.
Sử dụng phương thức System.out.println()
để in dữ liệu và xuống dòng.
Ví dụ:
System.out.print("Hello");
System.out.println(" World!");
Đọc dữ liệu từ người dùng
Sử dụng lớp Scanner
để đọc dữ liệu từ người dùng qua bàn phím.
Tạo một đối tượng Scanner
và sử dụng các phương thức như nextInt()
, nextDouble()
, nextLine()
để đọc các kiểu dữ liệu khác nhau từ người dùng.
Ví dụ:
Scanner scanner = new Scanner(System.in);
System.out.print("Enter your name: ");
String name = scanner.nextLine();
System.out.println("Hello, " + name + "!");
Đọc và ghi dữ liệu từ/đến file
Sử dụng lớp File
để đại diện cho một file trên hệ thống.
Sử dụng lớp FileReader
hoặc BufferedReader
để đọc dữ liệu từ file.
Sử dụng lớp FileWriter
hoặc BufferedWriter
để ghi dữ liệu vào file.
Ví dụ đọc dữ liệu từ file:
File file = new File("data.txt");
BufferedReader reader = new BufferedReader(new FileReader(file));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
Ví dụ ghi dữ liệu vào file:
File file = new File("data.txt");
BufferedWriter writer = new BufferedWriter(new FileWriter(file));
writer.write("Hello");
writer.newLine();
writer.write("World!");
writer.close();
Xử lý ngoại lệ (exception handling)
Khi làm việc với nhập/xuất, cần xử lý các ngoại lệ có thể xảy ra như lỗi đọc/ghi file, nhập sai kiểu dữ liệu, …
Sử dụng khối try-catch
để bắt và xử lý ngoại lệ.
Ví dụ:
try {
File file = new File("data.txt");
BufferedReader reader = new BufferedReader(new FileReader(file));
// ...
} catch (IOException e) {
System.out.println("Error reading file: " + e.getMessage());
}
Định dạng và đọc/giới hạn dữ liệu đầu vào
Sử dụng các lớp như DecimalFormat
, SimpleDateFormat
để định dạng dữ liệu hoặc kiểm tra định dạng dữ liệu đầu vào.
Sử dụng các phương thức kiểm tra và giới hạn giá trị đầu vào như nextInt()
, nextDouble()
để đảm bảo đầu vào hợp lệ.
Ví dụ:
Scanner scanner = new Scanner(System.in);
System.out.print("Enter a number: ");
while (!scanner.hasNextInt()) {
System.out.println("Invalid input! Enter a number: ");
scanner.next();
}
int number = scanner.nextInt();
Trên đây là một số cách cơ bản để làm việc với nhập/xuất trong Java. Bằng cách sử dụng các công cụ này, bạn có thể tạo các ứng dụng tương tác với người dùng và xử lý dữ liệu từ các nguồn khác nhau.