• 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类是一次性的将文件进行读取和写入,如果文件是比较小的化,这无疑是对文件读写的效率进行提高,但是如果文件过大的话,会造成系统内存消耗过大,甚至内存溢出。

    原文地址:http://www.cnblogs.com/Yanggulin/p/3769070.html?utm_source=tuicool&utm_medium=referral

  • 相关阅读:
    Linux上安装rz和sz命令
    性能测试场景设计之容量测试场景设计
    查看oracle/mysql数据库版本号
    查看weblgic/Tuxedo/WebSpere(WAS)/Tomcat中间件版本
    AIX/Linux/HP-UX查看CPU/内存/磁盘/存储命令
    常用的监控系统资源的工具
    性能瓶颈的识别方法
    性能测试的类型(负载/压力/并发/可靠性)
    Loadrunner做性能测试的主要步骤
    性能测试的主要测试阶段
  • 原文地址:https://www.cnblogs.com/CSharpLover/p/5867578.html
Copyright © 2020-2023  润新知