嘿,程序员小伙伴们!今天咱们来聊聊C#中读取和写入文件的那些事儿。文件操作是编程中非常基础也非常重要的一环,无论是保存用户数据、记录日志还是处理配置文件,都离不开文件读写。C#提供了多种方式来读取和写入文件,今天咱们就挑三种最常用、最实用的方法来聊聊。
方法一:使用StreamReader和StreamWriter
这是C#中最直接、最常用的文件读写方式。StreamReader用于读取文件,StreamWriter用于写入文件。它们都是System.IO命名空间下的类,使用起来非常简单。
读取文件:
using System;
using System.IO;
class Program
{
static void Main()
{
string filePath = "example.txt";
using (StreamReader reader = new StreamReader(filePath))
{
string content = reader.ReadToEnd();
Console.WriteLine(content);
}
}
}
这段代码会读取example.txt文件的所有内容,并打印到控制台。使用using语句可以确保在读取完成后自动关闭文件,避免资源泄露。
写入文件:
using System;
using System.IO;
class Program
{
static void Main()
{
string filePath = "example.txt";
string content = "Hello, World!";
using (StreamWriter writer = new StreamWriter(filePath))
{
writer.Write(content);
}
}
}
这段代码会将字符串"Hello, World!"写入到example.txt文件中。同样地,using语句确保了文件在写入完成后被正确关闭。
方法二:使用File.ReadAllText和File.WriteAllText
如果你只需要一次性读取或写入整个文件的内容,那么File.ReadAllText和File.WriteAllText这两个静态方法就非常方便了。它们同样位于System.IO命名空间下。
读取文件:
using System;
using System.IO;
class Program
{
static void Main()
{
string filePath = "example.txt";
string content = File.ReadAllText(filePath);
Console.WriteLine(content);
}
}
这段代码和前面使用StreamReader的效果是一样的,但代码更加简洁。
写入文件:
using System;
using System.IO;
class Program
{
static void Main()
{
string filePath = "example.txt";
string content = "Hello, World!";
File.WriteAllText(filePath, content);
}
}
这段代码会将字符串"Hello, World!"写入到example.txt文件中,如果文件已经存在,则会被覆盖。
方法三:使用File.AppendAllText
有时候你可能需要在文件的末尾追加内容,而不是覆盖整个文件。这时候File.AppendAllText方法就非常有用了。
追加内容到文件:
using System;
using System.IO;
class Program
{
static void Main()
{
string filePath = "example.txt";
string contentToAdd = "Hello again!";
File.AppendAllText(filePath, contentToAdd);
}
}
这段代码会在example.txt文件的末尾追加字符串"Hello again!"。如果文件不存在,它会自动创建一个新文件。
总结
以上就是C#中读取和写入文件的三种常用方法。StreamReader和StreamWriter提供了灵活的文件读写能力,适合需要逐行读取或写入文件内容的场景;File.ReadAllText和File.WriteAllText则更加简洁,适合一次性读取或写入整个文件内容的场景;而File.AppendAllText则非常适合需要在文件末尾追加内容的场景。
选择哪种方法取决于你的具体需求,但无论哪种方法,都能帮助你轻松完成文件读写操作。