- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第
C#File类中的文件读写方法详解
目录字节读写字符串读写和追加字符串数组C#提供了多种操作文件的方案,File类中封装的静态方法,接口封装得比较人性化,隐藏了具体实现的细节,主要包括读取、写入以及追加,这些函数如下
类别字节读写字符串列表字符串读取ReadAllBytesReadAllLinesReadAllTextReadLines写入WriteAllBytesWriteAllLinesWriteAllText追加AppendAllLinesAppendAllTextAppendText
这些方法大部分都有其异步模式,以RaadAllBytes为例,其对应的异步方法为ReadAllBytesAsync,即在后面加一个Async。
这些方法中,读取操作需要至少输入一个字符串,表示文件路径,其返回值为字节数、字符串或者字符串列表;追加和写入操作,至少需要输入一个文件路径以及将要写入的内容,根据函数类别不同,可以是字节数组、字符串或者字符串列表。
下面在顶级语句中,对这些函数做一些基础的演示。
字节读写
ReadAllBytes和WriteAllBytes是用于读写字节数组的方法,
byte[]data=newbyte[1024];
for(inti=0;i1024;i++)
data[i]=(byte)i;
???????File.WriteAllBytes(test.bin,data);
运行之后,将在运行目录创建一个test.bin文件,接下来通过ReadAllBytes对其读取。
data=File.ReadAllBytes(test.bin);
foreach(vardindata)
Console.Write(${d},);
其输出结果为0-255的数字,类似下面这样,这是在创建文件时,已经把i转换为了字节,1个字节只有8位,最大值就是255。
...251,252,253,254,255,0,1,2,3,4,5...
字符串读写和追加
通过xxxAllText可以直接读取文本文档,这些函数提供了两个重载,一种只需要输入文件名和写入内容,另一种需要指定编码方式。
File.WriteAllText(test.txt,ifumissthetrainimon,);
File.AppendAllText(test.txt,uwillknowthatimgone);
vars=File.ReadAllText(test.txt);
Console.WriteLine(s);
输出结果为
ifumissthetrainimon,uwillknowthatimgone
如果指定编码方式,尽管对英文来说可能无所谓,但编码不匹配,可能导致出现乱码,示例如下
File.WriteAllText(test.txt,桃李春风一杯酒);
File.AppendAllText(test.txt,江湖夜雨十年灯,Encoding.Unicode);
vars=File.ReadAllText(test.txt);
Console.WriteLine(s);
效果为
桃李春风一杯酒_lVnYASt^op
字符串数组
xxxAllLines可以操作字符串数组,或以字符串为元素的其他可迭代对象。
string[]poem0=newstring[]{我居北海君南海,寄雁传书谢不能};
string[]poem1=newstring[]{桃李春风一杯酒,江湖夜雨十年灯};
File.WriteAllLines(lines.txt,poem0);
File.AppendAllLines(lines.txt,poem1);
vars=File.ReadAllLines(lines.txt);
foreach(varitemins)
Console.WriteLine(item);
效果如下
我居北海君南海
寄雁传书谢不能
桃李春风一杯酒
江湖夜雨十年灯
文档评论(0)