asp.net 文件夹读成流方法,然后在把流读取成文件方法。

本文介绍了如何使用C#进行文件的压缩与解压操作,包括将文件夹压缩为RAR文件,并读取压缩文件的内容为字节数组,以及如何将字节数组写入文件并解压。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.压缩文件,然后读取文件夹

            string fileurl = Server.MapPath("Word");
             string fileysrul = Server.MapPath("WordTest") + "/Word.rar";
             //压缩文件
             PackFiles(fileysrul,fileurl);


             byte[] filebyte =  Returnbyte(fileysrul);

private byte[] Returnbyte(string strpath)

        {
            //以二进制方式读文件
            FileStream fsMyfile = new FileStream(strpath, FileMode.OpenOrCreate, FileAccess.Read);
            //创建一个二进制数据流读入器,和打开的文件关联
            BinaryReader brMyfile = new BinaryReader(fsMyfile);
            //把文件指针重新定位到文件的开始
            brMyfile.BaseStream.Seek(0, SeekOrigin.Begin);
            byte[] bytes = brMyfile.ReadBytes(Convert.ToInt32(fsMyfile.Length.ToString()));
            //关闭以上的new的各个对象
            brMyfile.Close();
            return bytes;

        }


2、文件流读成文件后解压文件

 //文件临时目录地址
          string RARTEMPURL = System.Configuration.ConfigurationManager.AppSettings["RARTEMPURL"];
          //文件存放目录地址
          string FILEURL = System.Configuration.ConfigurationManager.AppSettings["FILEURL"];
          //不存在临时目录文件路径则创建
          if (!Directory.Exists(RARTEMPURL))
          {
              Directory.CreateDirectory(RARTEMPURL);
          }
          //添加解压文件名称
          FILEURL += "\\"+name;
          //不存在文件路径则创建
          if (!Directory.Exists(FILEURL))
          {
              Directory.CreateDirectory(FILEURL);
          }
          string filefromurl = RARTEMPURL + "\\"+name+".rar";
           FileStream fs = new FileStream(filefromurl, FileMode.Create, FileAccess.Write); 
           fs.Write(fileByte, 0, fileByte.Length); 
           fs.Close();
           //解压目录
            string filetourl=FILEURL;
           //解压文件
            UnZip(filefromurl,filetourl);
           //删除压缩文件
            File.Delete(filefromurl);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值