Java 中的資料匯入
Anthony Markham
VP Quant Developer
$$
Anthony Markham

在 Java 應用中處理外部資訊的關鍵
常見格式:CSV(逗號分隔)、JSON、Excel

java.io 與 java.nio 套件中提供強大工具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();
Path 介面與 Files 類別提供現代化檔案操作(java.nio)java.io;高效輸入/輸出用 java.nioimport 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);
Files.readAllLines():將整個檔案讀成 List<String>(每行一筆)Files.readString():將整個檔案讀成單一字串Path file = Paths.get("data.csv");// 一次讀入所有行 List<String> lines = Files.readAllLines(file); // 讀為單一字串 String content = Files.readString(file);
$$
$$
Exception
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());}
| 類別/介面 | 方法 | 說明 |
|---|---|---|
File |
new File() |
建立檔案路徑的抽象表示 |
File |
exists() |
檢查檔案是否存在 |
File |
length() |
取得檔案大小(位元組) |
Paths |
get() |
由字串建立 Path 物件 |
Files |
exists() |
檢查檔案是否存在(現代 API) |
Files |
size() |
取得檔案大小(位元組,現代 API) |
Files |
readAllLines() |
將整個檔案讀為 List<String> |
Files |
readString() |
將整個檔案讀為單一 String |
Java 中的資料匯入