在C#中,操作文件时,有StreamReader , StreamWriter , 以及FileStream等类,在操作小文件时,还是File类提供的方法更为简便快捷。
就几个简单的File类方法的使用做小案例(注:File类是一个静态类,是通过类名直接调用的方法名)
//打开一个文件,使用执行的编码读取文件的所有的行 ,Encoding.Default 保证读取中文时不乱吗
string strs = File.ReadAllLines(@"F:\test.txt", Encoding.Default);
string strs1 = File.ReadAllText(@"F:\test.txt", Encoding.Default);
/ / ReadAllBytes 读取文件并返回一个字节数组
byte[] buffer = File.ReadAllBytes(@"F:\test.txt");
string str = Encoding.UTF8.GetString(buffer);
Console.WriteLine(str);
//上面的是读,下面的是写
File.WriteAllLines(@"F:\new.txt", new string[] { "第一行", "第二行", "第三行" });//会覆盖源文件内容
File.WriteAllText(@"F:\new.txt", "toDay");//会覆盖源文件内容
string str = "今天天气好晴朗,处处好风光";
Byte[] bte = Encoding.Default.GetBytes(str);
File.WriteAllBytes(@"F:\new.txt", bte);//也会覆盖源文件内容
append的方式写入数据则不会覆盖源文件的内容
File.AppendAllText(@"F:\new.txt","你好啊" , Encoding.GetEncoding("UTF8")); //传入编码格式避免中文乱码