C#2.0 IO学习之读写二进制文件

来源:互联网 发布:创意耳机淘宝 编辑:程序博客网 时间:2024/05/21 06:35

用数据流来复制二进制文件,步骤如下:
        1.用System.IO.FileStream 类的实例为源文件创建输入数据流.
        2.用FileStream类的实例为目标创建输出数据流.
        3.把内容从源文件转移到目标文件,不必解释文件的内容,也不必用数据流类型化类.
我们通常用缓冲来把数据从输入数据流转移到输出数据流。缓冲是一块内存区域,首先用输入数据流填充该区域,然后把该区域的数据写到输出数据流并清空该区域。这一填充/清空操作经常需要用到。
   
下面程序吧当前程序集的可执行文件复制到一个名为Copy.exe的文件,输出位于当前程序的文件夹中。
     

class Program
    {
        static readonly int buffersize = 512;
        static void Main(string[] args)
        {
            //当前应用程序集名称
            string sExe = System.AppDomain.CurrentDomain.FriendlyName;

            //创建输入输出数据流
            FileStream inStream = File.OpenRead(sExe);
            FileStream outStream = File.OpenWrite("Copy.exe");

            //缓冲
            byte[] buffer = new System.Byte[buffersize];

            int nByteRead = 0;

            //复制二进制数据
            while ((nByteRead = inStream.Read(buffer , 0 , buffersize )) > 0)
            {
                outStream.Write(buffer , 0 , buffersize);
            }

            //关闭数据流
            inStream.Close();
            outStream.Close();
        }
    }


文章出处:飞诺网(www.firnow.com):http://dev.firnow.com/course/4_webprogram/asp.net/netjs/2008324/106325.html