iT邦幫忙

2025 iThome 鐵人賽

DAY 16
0

昨天用 FileWriter 把學生資料寫進 students.txt。但是程式重新啟動後,如果不讀檔記憶體會是空的,所以要學這個。

FileReader+BufferedReader 可以把檔案內容讀回來,轉換成student object,重新放進StudentManager。

FileReader 基本用法
import java.io.FileReader;
import java.io.IOException;

public class Demo {
public static void main(String[] args) {
try (FileReader fr = new FileReader("students.txt")) {
int c;
while ((c = fr.read()) != -1) {
System.out.print((char)c);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}

read() 會一次讀一個字元,回傳 int,讀到 EOF (end-of-file) 時回傳 -1。
缺點:一次讀字元,效率低。

BufferedReader: 可以一行一行讀,比較快也比較方便處理文字。

import java.io.FileReader;
import java.io.BufferedReader;
import java.io.IOException;

public class Demo {
public static void main(String[] args) {
try (BufferedReader br = new BufferedReader(new FileReader("students.txt"))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line); // 每次讀一行
}
} catch (IOException e) {
e.printStackTrace();
}
}
}

anyways 這是今天的實作:
https://ithelp.ithome.com.tw/upload/images/20250930/20178846iJxnFOaMgA.png


上一篇
Day 15: learning about "filewriter"
系列文
Java 學生管理系統:打造可新增、刪除、修改、搜尋並保存資料的完整 CLI 應用16
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言