你需要引入 using System.IO;。
// 1. 快速写入所有文本(如果文件不存在会自动创建,如果存在会覆盖)
File.WriteAllText("secret.txt", "欲练此功,必先自宫。");
// 2. 追加写入(在后面接着写)
File.AppendAllText("secret.txt", "\n就算自宫,未必成功。");
if (File.Exists("secret.txt")) // 先看看秘籍在不在
{
string content = File.ReadAllText("secret.txt");
Console.WriteLine("秘籍内容:\n" + content);
}
如果秘籍太厚(文件太大,比如几个G),一次性读到脑子里会走火入魔(内存溢出)。
这时候要用流 (Stream),一行一行地读。
// 使用 using 自动释放资源
using (StreamWriter sw = new StreamWriter("big_secret.txt"))
{
sw.WriteLine("第一行");
sw.WriteLine("第二行");
}
using (StreamReader sr = new StreamReader("big_secret.txt"))
{
string line;
// 一行一行读,直到读完(null)
while ((line = sr.ReadLine()) != null)
{
Console.WriteLine(line);
}
}
"secret.txt",它会保存在程序运行的当前目录下(通常是 bin/Debug/net8.0)。
Path.Combine 来拼接路径,这样跨平台(Windows/Linux)更安全。
编写一个程序,每次运行都询问:“今天练了什么功?”
把用户的输入追加保存到 diary.txt 文件中。
保存后,把日记里的所有内容打印出来回顾一下。
Console.WriteLine("今天练了什么?");
string input = Console.ReadLine();
File.AppendAllText("diary.txt", DateTime.Now + ": " + input + "\n");
Console.WriteLine("--- 历史日记 ---");
Console.WriteLine(File.ReadAllText("diary.txt"));