C# Window编程随记——两个常用的写文件的方法

C# Window编程随记——两个常用的写文件的方法

有时候,我们常常需要对一些文件(如:表格)中的数据读取之后,以一定的规律转换为更简单的格式,然后写到文本中(.txt或.bytes),这也是很多游戏表格数据进行数据打包之前常见的操作,这样有利于压缩数据空间和简化数据规则。

  • 以字符串的格式写入(覆盖和非覆盖)
  • 以二进制的格式写入(覆盖和非覆盖)

1.以字符串的格式写入(覆盖和非覆盖)

通过字符串格式写入到文件中的数据,文件中的内容在文本编辑器中可能完全被读取出来,不存在乱码和其他影响数据可读性的问题,但是,这样有时候不利于数据安全性的保护,而且数据所占用的空间也要大于用二进制方式写入时所占的空间。

(1)覆盖式写入:
覆盖式的写入方式有两种:
方法一:

//如果文件不存在,则创建;存在则覆盖
System.IO.File.WriteAllText(@""+_DataSavePath+"\\"+fileName+".bytes", data_str, Encoding.UTF8);

方法二:

StreamWriter sw = new StreamWriter(@"" + _DataSavePath + "\\" + fileName + ".bytes", false);

(2)非覆盖式(追加)写入:

//追加写入内容,不覆盖
StreamWriter sw = new StreamWriter(@"" + _DataSavePath + "\\" + fileName + ".bytes", true);

写入控制的关键在于第二个参数,它是一个bool类型的参数,当这个参数为true时,为追加写入方法,而当其值为false时,则与方法一种的效果是一致的,都是覆盖式写入方式。


2.以二进制的格式写入(覆盖和非覆盖)

通过二进制的形式写入文件的数据,部分数据(如:整型)会变成无法直接读取内容的二进制格式码,只有字符串保留了原本的可读性,这样可以适当地保护数据安全,也压缩了转换后文件所占用的空间。
(1)覆盖式写入:

FileStream myStream = new FileStream(@"" + _DataSavePath + "\\" + fileName + ".bytes", FileMode.OpenOrCreate, FileAccess.ReadWrite);
BinaryWriter myWriter = new BinaryWriter(myStream);
myWriter.Write(data_str);
myWriter.Close();
myStream.Close();

(2)非覆盖式(追加)写入:

FileStream myStream = new FileStream(@"" + _DataSavePath + "\\" + fileName + ".bytes", FileMode.Append, FileAccess.Write, FileShare.ReadWrite);
BinaryWriter myWriter = new BinaryWriter(myStream);
myWriter.Write(data_str);
myWriter.Close();
myStream.Close();

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值