Net压缩文件流

来源:未知 责任编辑:责任编辑 发表时间:2013-11-17 14:39 点击:
using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using System.IO.Compression; 
using System.IO; 
 
namespace gzipfile 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void button1_Click(object sender, EventArgs e) 
        { 
  
 
 
//文件流   
FileStream reader;  
reader = File.Open("D:\\ddd.txt", FileMode.Open);  
FileStream writer;  
writer = File.Create("D:\\ddd.gz");  
 
//压缩相关的流   
MemoryStream ms = new MemoryStream();  
GZipStream zipStream = new GZipStream(ms, CompressionMode.Compress, true);  
 
//往压缩流中写数据   
byte[] sourceBuffer = new byte[reader.Length];  
 
 
reader.Read(sourceBuffer, 0, sourceBuffer.Length);  
zipStream.Write(sourceBuffer, 0, sourceBuffer.Length);  
 
//一定要在内存流读取之前关闭压缩流   
zipStream.Close();  
zipStream.Dispose();  
 
//从内存流中读数据   
ms.Position = 0; //注意,不要遗漏此句   
byte[] destBuffer = new byte[ms.Length];  
//ms.Read(destBuffer, 0, destBuffer.Length);   
 
byte[] header = new byte [10]; 
ms.Read(header, 0, 10); 
header[3] = 8;        //表示包含文件名信息  
byte[] fielContent  = new byte[ms.Length -10] ; 
ms.Read(fielContent, 0, fielContent.Length); 
 
string  strfilename = "widebright的文件.txt"; //指定初始文件名  
  
//byte   []  filename=System.Text.Encoding.Convert(System.Text.Encoding.Default,  
//                          //  System.Text.Encoding.GetEncoding("ISO-8859-1"),  
//                           System.Text.Encoding.Default,  
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • 浅析.NET下XML数据访问新机制
  • asp.net 面试+笔试题目第1/2页
  • C# 邮件地址是否合法的验证
  • asp.net 设置GridView的选中行的实现代码
  • C#高级编程:数据库连接[1]
  • 经典C++程序1
  • IIS 自动回收导致后台定时器失效的问题解决
  • ASP.NET GridView列表代码示例
  • Asp.net MVC源码分析--Action Filter的链式调用
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1