1.获得当前计算机支持的所有编码(返回的是EncodingInfo[]数组) Encoding.GetEncodings()
2.操作文本文件 StreamReader 读取文本文件 StreamWriter 写入文本文件
读取的两种方式
1)一次性读写 优点非常简单 缺点 消耗资源比较大
File.ReadAllText(); //读取文本所有内容 【返回一个字符串】
File.ReadAllLines();//读取文本中的所有内容【返回一个字符串数组】
File.WriteAllText();//写入文本文件
File.WriteAllLines();//写入文本文件
File.AppendAllText();//像文本文件中追加字符串
2)读取源文件的一小部分数据,然后写目标文件,然后再读取剩下的一小部分,以此类推,即文件流技术
Stream 抽象类
文件流读取技术
//定义文件流
FileStream fs=new FileStream("路径",FileMode.Open);
//开辟内存区域
byte[] byArray=new byte[1024*1024]; //1M空间
//开始读取数据
int intCount=fs.Read(byAArray,0,byArray.Length);
//byte数组转字符串
Encoding.UTF8.GetString(byArray,0,intCount);
//关闭数据流
fs.Close();
//清理释放资源
fs.Dispose()
文件流写入技术
//定义文件流
FileStream fs=new FileStream("路径",FileMode.OpenOrCreate);
//写入的内容
string strWord="****"
//字符串转bytes数组
byte[] bytArray=Encoding.UTF8.GetBytes(strWord);
//写入
fs.Read(bytArray,0,bytArray.Length);
//关闭数据流
fs.Close();
//清理释放资源
fs.Dispose()
使用USing机制
操作读写硬盘,就需要用try...catch,为了简化机制,使用using,凡使用using()自动释放资源的地方,必须实现IDisposable接口。
if(File.Exists("路径")) //测试路径是否存在该文件
//定义文件流直接写进using括号参数中
using(FileStream fs=new FileStream("路径",FileMode.Open))
//开辟内存区域
byte[] byArray=new byte[1024*1024]; //1M空间
//开始读取数据
int intCount=fs.Read(byAArray,0,byArray.Length);
//byte数组转字符串
Encoding.UTF8.GetString(byArray,0,intCount);