昨天先建立了一份睡眠和任務的 CSV 測試資料,接下來我的第一步就是要先知道:「資料到底要怎麼進到程式裡?」
所以今天先從比較基礎的地方開始,複習 Java 的檔案讀取、try-catch 和例外處理,並實際使用 Java 讀取昨天建立的 CSV 檔案。
今天的目標,就是想辦法讓 Java 把這些原本存在 CSV 裡的資料讀進程式。
在寫讀取程式的過程中,我學到FileReader可以用來讀取檔案,而BufferedReader則可以讓程式逐行讀取內容。
程式中使用:while ((line = br.readLine()) != null)
其中 readLine() 會讀取下一行資料,並將資料存入line;如果檔案已經讀完,就會得到 null。因此搭配 while 後,只要讀取到的內容不是 null,程式就會繼續處理下一行。
CSV 中的資料使用逗號分隔,因此可以利用 split(",") 將每一行切成陣列。
例如:2026-09-01,00:30,07:30,7.0,good,0,easy
可以拆成:
2026-09-01
00:30
07:30
7.0
good
0
easy
最後再利用 for-each 迴圈將陣列中的資料逐一輸出。
一開始在 try (BufferedReader...) 少寫了一個 ),結果後面的 while、catch 都一起出現錯誤。一開始一直以為是後面的程式有問題,後來檢查才發現是前面的括號沒有寫完整,修改之後就可以正常執行。

今天完成了一個簡單的 CSV Reader,讓 Java 成功讀取 data.csv,並把昨天...輸出到 Terminal。原本放在 CSV 裡的一整行資料,也可以透過 split()拆成不同的資料,之後就能再進一步進行整理和分析。