認識資料匯入基礎

Java 中的資料匯入

Anthony Markham

VP Quant Developer

認識你的講師!

 

$$

Anthony Markham

  • VP、量化開發/分析主管
  • 投資銀行 C++/Java/Python 開發者
  • 具大學教學經驗

 

Anthony Markham

Java 中的資料匯入

資料匯入基礎

  • 在 Java 應用中處理外部資訊的關鍵

  • 常見格式:CSV(逗號分隔)、JSON、Excel

顯示匯入流程五步驟的流程圖

  • Java 在 java.iojava.nio 套件中提供強大工具
Java 中的資料匯入

檔案處理基礎

  • File 類別代表檔案或目錄
  • 使用 exists()length()isDirectory() 等方法驗證檔案
import java.io.File;
File dataFile = new File("data.csv");
boolean exists = dataFile.exists();
long size = dataFile.length();
boolean isDirectory = dataFile.isDirectory();
Java 中的資料匯入

Path 介面與 Files 類別

  • Path 介面與 Files 類別提供現代化檔案操作(java.nio
  • 優點:更彈性、更佳的例外處理與效能
  • 簡單操作用 java.io;高效輸入/輸出用 java.nio
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);
Java 中的資料匯入

讀取文字檔

  • Files.readAllLines():將整個檔案讀成 List<String>(每行一筆)
  • Files.readString():將整個檔案讀成單一字串
Path file = Paths.get("data.csv");

// 一次讀入所有行 List<String> lines = Files.readAllLines(file); // 讀為單一字串 String content = Files.readString(file);

$$

$$

  • 會將整個檔案載入記憶體 🛑
Java 中的資料匯入

資料驗證

  • 在處理前確保資料品質
  • 檢查資料品質與結構
  • 執行常見驗證
  • 處理任何 Exception

資料驗證檢查

Java 中的資料匯入

資料驗證

  • 常見檢查:檔案非空、標頭含必要欄位
  • 用 try-catch 區塊處理 Exception
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());}
Java 中的資料匯入

總結

類別/介面 方法 說明
File new File() 建立檔案路徑的抽象表示
File exists() 檢查檔案是否存在
File length() 取得檔案大小(位元組)
Paths get() 由字串建立 Path 物件
Files exists() 檢查檔案是否存在(現代 API)
Files size() 取得檔案大小(位元組,現代 API)
Files readAllLines() 將整個檔案讀為 List<String>
Files readString() 將整個檔案讀為單一 String
1 https://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html
Java 中的資料匯入

一起來練習吧!

Java 中的資料匯入

Preparing Video For Download...