C#读写文件宜取方式.md

C#读写文件宜取方式

首先,不推荐用如下方式读写

//读
using (FileStream fs = File.OpenRead(filePath))
{
    byte[] b = new byte[1024 * 4];
    UTF8Encoding temp = new UTF8Encoding(true);
    
    while (fs.Read(b, 0, b.Length) > 0)
    {
        
    }
}

//写
using (FileStream fs = File.Create(path)) 
{
    Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");
    fs.Write(info, 0, info.Length);
}

因为规定了读写块的大小之后读,读到文件尾后如果字节不足这个块大小,会再从上个块尾读取一定字节凑够指定块大小。这样,新文件就会出现脏数据。

推荐用这种方式读写
StreamReader sr = new StreamReader(filePath, Encoding.UTF8);
sr.ReadToEnd();
sr.Close();

File.WriteAllText(filePath, content);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值