C#四种文件流的区别
2021/6/26 9:26:45
本文主要是介绍C#四种文件流的区别,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1、FileStream类的读写操作
FileStream类可以对任意类型的文件进行读取操作,而且我们也可以按照需要指定每一次读取字节长度,以此减少内存的消耗,提高读取效率。
代码实例:
//创建文件读取对象 using(FileStream fileReader=new FileStream (文件的物理路径,FileMode.Open)) { //创建文件写入对象 using(FileStream fileWrite=new FileStream (需要保存的文件物理路径+文件后缀名,FileMode.Create)) { //指定文件一次读取时的字节长度 byte[] by=new byte [1024*1024*10]; int count = 0; while (true) { //将文件转换为二进制数据保存到内存中,同时返回读取字节的长度 count = fileReader.Read(by, 0, by.Length); if (count == 0)//文件是否全部转换为二进制数据 { break; } //将二进制数据转换为文件对象并保存到指定的物理路径中 fileWrite.Write(by, 0, count); } MessageBox.Show("OK"); } }
2、SteamWriter类/StreamReader类的读写操作
StreamWriter/SteamReader的特点是,它只能对文本文件进行读写操作,可以一行一行的写入和读取。
代码实例:
static void Main(string[] args) { //创建文本文件读取对象 using (StreamReader s = File.OpenText(文本文件的物理路径)) { string read = null; while ((read = s.ReadLine()) != null) { Console.WriteLine(read); } } }
3、File类的文件读取操作特点
File类它是一个静态类,这意味着我们不可以通过创建file类对象来对文件进行读写操作。当我们通过反编译工具来查看file类的那些静态方法时,我们可以发现,在这个类里面的方法封装了可以执行文件读写操作的对象,例如:Filestream,StreamWriter/StreamReader。这也说明了当我们通过调用File类的静态方法去执行任何文件的读写操作时,实际上是在该静态方法中创建了FileStream对象,并通过它来执行文件的读写操作。例如:File类的静态方法Create()
public static FileStream Create(string path);
同样的在对文本文件进行读写操作时也是调用了StreamWriter/StreamReader对象实现的。例如:
public static StreamWriter AppendText(string path);
File类是一次性的将文件进行读取和写入,如果文件是比较小的化,这无疑是对文件读写的效率进行提高,但是如果文件过大的话,会造成系统内存消耗过大,甚至内存溢出。
这篇关于C#四种文件流的区别的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-11-18微软研究:RAG系统的四个层次提升理解与回答能力
- 2024-11-15C#中怎么从PEM格式的证书中提取公钥?-icode9专业技术文章分享
- 2024-11-14云架构设计——如何用diagrams.net绘制专业的AWS架构图?
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#
- 2024-01-24Advanced .Net Debugging 1:你必须知道的调试工具