Hiểu các nguyên lý nhập dữ liệu

Nhập dữ liệu trong Java

Anthony Markham

VP Quant Developer

Gặp giảng viên của bạn!

 

$$

Anthony Markham

  • VP, Trưởng nhóm Phát triển Định lượng/Analytics
  • Lập trình viên C++/Java/Python trong ngân hàng đầu tư
  • Kinh nghiệm giảng dạy đại học

 

Anthony Markham

Nhập dữ liệu trong Java

Nguyên lý nhập dữ liệu

  • Thiết yếu để xử lý thông tin bên ngoài trong ứng dụng Java

  • Định dạng phổ biến: CSV (comma-separated values), JSON và Excel

Sơ đồ luồng hiển thị 5 bước trong quy trình nhập dữ liệu

  • Java cung cấp công cụ mạnh trong các package java.iojava.nio
Nhập dữ liệu trong Java

Cơ bản về xử lý tệp

  • Lớp File đại diện cho tệp hoặc thư mục
  • Các phương thức như exists(), length()isDirectory() giúp bạn kiểm tra tệp
import java.io.File;
File dataFile = new File("data.csv");
boolean exists = dataFile.exists();
long size = dataFile.length();
boolean isDirectory = dataFile.isDirectory();
Nhập dữ liệu trong Java

Giao diện Path và lớp Files

  • Giao diện Path và lớp Files cung cấp thao tác tệp hiện đại (java.nio)
  • Lợi ích: linh hoạt hơn, xử lý ngoại lệ tốt hơn, hiệu năng cao hơn
  • Dùng java.io cho thao tác đơn giản; java.nio cho I/O hiệu năng cao
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.Files;
Path dataPath = Paths.get("data.csv");

boolean exists = Files.exists(dataPath); long size = Files.size(dataPath);
Nhập dữ liệu trong Java

Đọc tệp văn bản

  • Files.readAllLines(): Đọc toàn bộ tệp vào List<String> (một phần tử mỗi dòng)
  • Files.readString(): Đọc toàn bộ tệp thành một chuỗi duy nhất
Path file = Paths.get("data.csv");

// Đọc tất cả dòng một lần List<String> lines = Files.readAllLines(file); // Đọc toàn bộ tệp thành một chuỗi String content = Files.readString(file);

$$

$$

  • Toàn bộ tệp được nạp vào bộ nhớ 🛑
Nhập dữ liệu trong Java

Xác thực dữ liệu

  • Đảm bảo chất lượng dữ liệu trước khi xử lý
  • Kiểm tra chất lượng và cấu trúc dữ liệu
  • Thực hiện các kiểm tra phổ biến
  • Xử lý mọi Exception

Các bước kiểm tra xác thực dữ liệu

Nhập dữ liệu trong Java

Xác thực dữ liệu

  • Kiểm tra thường gặp: tệp không rỗng, tiêu đề có đủ cột bắt buộc
  • Xử lý Exception bằng khối try-catch ✅
try {
  Path file = Paths.get("data.csv");
  List<String> lines = Files.readAllLines(file);
  if (lines.isEmpty()) { // Validate file has content
      System.out.println("Warning: File is empty");}
  String header = lines.get(0);
  if (!header.contains("id") || !header.contains("name")) {    // Check header
      System.out.println("Error: File missing required columns");
} catch (Exception e) {
    System.out.println("Error reading file: " + e.getMessage());}
Nhập dữ liệu trong Java

Tóm tắt

Class/Interface Method Description
File new File() Tạo biểu diễn trừu tượng của đường dẫn tệp
File exists() Kiểm tra tệp có tồn tại không
File length() Lấy kích thước tệp theo byte
Paths get() Tạo đối tượng Path từ chuỗi
Files exists() Kiểm tra tệp có tồn tại (API hiện đại)
Files size() Lấy kích thước tệp theo byte (API hiện đại)
Files readAllLines() Đọc toàn bộ tệp vào List<String>
Files readString() Đọc toàn bộ tệp thành một String
1 https://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html
Nhập dữ liệu trong Java

Cùng luyện tập nào!

Nhập dữ liệu trong Java

Preparing Video For Download...