几种文件的读写方式

1.文件写入

string fileName = Path.Combine(LogPath, "log.txt");
Directory.CreateDirectory(LogPath);//创建了文件夹之后,才能创建里面的文件
using (FileStream fileStream = File.Create(fileName))//打开文件流 (创建文件并写入)
{
    string name = "12345567778890";
    byte[] bytes = Encoding.Default.GetBytes(name);
    fileStream.Write(bytes, 0, bytes.Length);
    fileStream.Flush();
}
using (FileStream fileStream = File.Create(fileName))//打开文件流 (创建文件并写入)
{
    StreamWriter sw = new StreamWriter(fileStream);
    sw.WriteLine("1234567890");
    sw.Flush();
}

using (StreamWriter sw = File.AppendText(fileName))//流写入器(创建/打开文件并写入)
{
    string msg = "15663353135";
    sw.WriteLine(msg);
    sw.Flush();
}
using (StreamWriter sw = File.AppendText(fileName))//流写入器(创建/打开文件并写入)
{
    string name = "0987654321";
    byte[] bytes = Encoding.Default.GetBytes(name);
    sw.BaseStream.Write(bytes, 0, bytes.Length);
    sw.Flush();
}

2.文件读取

foreach (string result in File.ReadAllLines(fileName))//逐行读取
{
    Console.WriteLine(result);
}

string sResult = File.ReadAllText(fileName);//一次性读取所有内容,返回字符串

Byte[] byteContent
= File.ReadAllBytes(fileName);//一次性读取所有内容,返回字节数组 string sResultByte = System.Text.Encoding.UTF8.GetString(byteContent);//将字节数组转为字符串


//如果一个文本文件太大,可以选择分批读取
using (FileStream stream = File.OpenRead(fileName))//分批读取 { int length = 5; int result = 0; do { byte[] bytes = new byte[length]; result = stream.Read(bytes, 0, length); for (int i = 0; i < result; i++) { Console.WriteLine(bytes[i].ToString()); } } while (length == result); }

 

posted @ 2019-12-10 17:00  凌晨10点13分  阅读(540)  评论(0编辑  收藏  举报