文件流

文件流的基本知识

          1  //读取  (小)
        protected void btn_Click(object sender, EventArgs e)
        {
           //1创建一个文件流对象 并给这个文件流对象指定操作的文件路径,   还有指定的操作方式
            FileStream fs = new FileStream(@"d:2.txt", FileMode.Open);
            //2准备一个byte 数组 以控 文件流对象读取数据并放到这个数组
            byte[] buffer = new byte[1024 * 1024];
              //3调用文件流的读数据方法 ,将读出来的字节放入到 数组
            fs.Read(buffer, 0, buffer.Length);

            //4讲字符数组转成字符串
            string txt = Encoding.Default.GetString(buffer);
            //关闭文件流
            fs.Dispose();

        }

       2 //保存   (小)
        protected void wr_Click(object sender, EventArgs e)
        {
            //创建件文件流对象
            FileStream fs = new FileStream(@"d:3.txt", FileMode.Create);
            string str = "阿斯达为其味无穷";
            //字符串 ---> 字符数组
          byte[] buffer=   Encoding.UTF8.GetBytes(str);
            //调用文件流对象的写入方法
          fs.Write(buffer, 0, buffer.Length);
          fs.Dispose();
           
        }
          3  //大文件读取
        protected void dd_Click(object sender, EventArgs e)
        {
            //1 用于读数据的文件流
            FileStream fsRead = new FileStream(@"d:2.txt", FileMode.Open);
            //2用于写数据流   的文件流
            FileStream fswrite = new FileStream(@"d:3.txt", FileMode.Create);
            //3准备一个byte 数组 以控 文件流对象读取数据并放到这个数组
            byte[] buffer = new byte[1024 * 1024];
            //
            int length = 0;
            do
            {
                length = fsRead.Read(buffer, 0, buffer.Length);   //记录读取多少个字节 ,可能最后一次没读完 没装满
                fswrite.Write(buffer, 0, length);

            }
            while (length >= buffer.Length);//   1024  980
            fswrite.Dispose();
            fsRead.Dispose();

原文地址:https://www.cnblogs.com/cdaq/p/3428613.html