C#关于流和文件读写简单笔记

File类:提供用于操作文件的静态方法。
FileInfo类:提供操作文件的属性和实例方法。
Directory类:提供用于操作目录的静态方法。
DirectoryInfo类:提供用于操作目录的实例方法,此类不能被继承。

简单来说,有Info这个词的类不是静态的,必须要实例化后才可以使用;而没有这个词的都是静态类,可以直接使用。当需要进行很多次对目录或文件的操作时,最好别使用静态类,因为每次都要查找文件,所以会比较耗费时间。

以File类为例来简单列出一些常用方法吧,其它类实现方法差不多:
1.判断文件是否存在:File.Exists();
2.创建文件:File.Create();
3.删除文件:File.Delete();
4.复制文件:File.Copy();
5.读写文件:File.ReadAllLines();File.WriteAllLines();

1、FileStream类:

主要用于对磁盘上文件的读写
读取数据:

FileStream fs = new FileStream(@"demo.txt",FileMode.Open);//初始化文件流
byte[] array = new byte[fs.Length];//初始化字节数组
fs.Read(array, 0, array.Length);//读取流中数据到字节数组中
fs.Close();//关闭流
string str = Encoding.Default.GetString(array);//将字节数组转化为字符串
Console.WriteLine(str);

写入数据:

FileStream fs = new FileStream(@"demo.txt",FileMode.Append);//初始化文件流
byte[] array = Encoding.UTF8.GetBytes("Hello World!你好");//给字节数组赋值
fs.Write(array, 0, array.Length);//将字节数组写入文件流
fs.Close();//关闭流
2、MemoryStream类:

主要用于操作内存中的数据。

3、StreamReader/StreamWriter类:

主要用来处理流数据,提供了高效的流读写功能。可以直接用字符串进行读写,而不用转换成字节数组。
读取数据:

FileStream fs = new FileStream(@"demo.txt", FileMode.Open);
StreamReader sr = new StreamReader(fs);
string line = sr.ReadLine();//直接读取一行
sr.Close();
fs.Close();
Console.WriteLine(line);

写入数据:

FileStream fs = new FileStream(@"demo.txt", FileMode.Append);
StreamWriter sw = new StreamWriter(fs);
sw.WriteLine("hello world");
sw.Close();
fs.Close();//这里要注意fs一定要在sw后面关闭,否则会抛异常
4、TextReader/TextWriter类:

主要用来处理流数据,提供了高效的文本流读写功能。

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值