錯誤代碼
FileOutputStream fos = new FileOutputStream(new File("d:\test.txt")); // 路徑轉義錯誤
// 缺少 import java.io.File;
兩個關鍵修正
- 路徑字符串轉義:Java 字符串中
\ 為轉義字符,\t 被解析為制表符。需雙重轉義或使用正斜槓:
// 方式 1:雙反斜槓
new File("d:\\test.txt")
// 方式 2:正斜槓 (跨平台兼容)
new File("d:/test.txt")
- 導入 File 類:代碼使用
new File(...) 但未導入,需在文件頂部添加:
import java.io.File;
完整修正片段
import java.io.File;
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
public class Sample implements Serializable {
public String s;
public static void main(String[] args) throws IOException {
Sample sample = new Sample();
sample.s = "This is a entity!";
FileOutputStream fos = new FileOutputStream(new File("d:/test.txt")); // 修正路徑
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(sample);
oos.flush();
oos.close();
fos.close();
}
}