File类中包含一些静态函数,用于读写文件。
1.文件路径
var path = Path.Combine(Environment.CurrentDirectory,"April.txt");
2.读文件
- ReadAllBytes 打开一个二进制文件,将文件内容读入一个字节数组,然后关闭该文件
byte[] buffer = File.ReadAllBytes(path);
string str = Encoding.UTF8.GetString(buffer, 0, buffer.Length);
Console.WriteLine(str);
- ReadAllLines打开一个文本文件,读取文件的所有行,每一行作为一个字符串,返回字符串数组,然后关闭该文件
string[] lines = File.ReadAllLines(path);
foreach (var item in lines)
{
Console.WriteLine(item);
}
- ReadAllText打开一个文本文件,读取文件,文件内容作为一个字符串返回,然后关闭该文件
string test = File.ReadAllText(path);
Console.WriteLine(test);
3.写文件
- WriteAllBytes创建一个新文件,在其中写入指定的字节数组,然后关闭该文件。如果目标文件已存在,则覆盖该文件。
File.WriteAllBytes(path,Encoding.Default.GetBytes("时代周刊"));
- WriteAllLines 创建一个新文件,向其中写入一个字符串集合,然后关闭该文件。如果目标文件已存在,则覆盖该文件。
File.WriteAllLines(path,new List<string>() { "华尔街日报", "华盛顿邮报", "纽约时报" });
- WriteAllText 创建一个新文件,向其中写入指定的字符串,然后关闭文件。如果目标文件已存在,则覆盖该文件。
File.WriteAllText(path, "哈佛商业评论");
4.代码示例
class Program
{
static void Main(string[] args)
{
//读取文件,返回字符串数组
string[] strArray = File.ReadAllLines("TextFile1.txt");
foreach (var item in strArray)
{
Console.WriteLine(item);
}
Console.WriteLine("-------------------------");
//读取文件,返回字符串
string str = File.ReadAllText("TextFile1.txt");
Console.WriteLine(str);
//将字符串写入文件
File.WriteAllText("TextFile2.txt", "人民日报");
//将字符串数组写入文件
File.WriteAllLines("TextFile3.txt", new List<string>() {"华尔街日报","华盛顿邮报","纽约时报" });
Console.ReadKey();
}
}
运行结果