zoukankan
html css js c++ java
Net压缩文件流
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, // System.Text.Encoding.Default.GetBytes(strfilename)); byte[] filename = System.Text.Encoding.Default.GetBytes(strfilename); writer.Write(header, 0, header.Length); writer.Write(filename, 0, filename.Length); writer.WriteByte(0); //文件名以0 字节结束 writer.Write(fielContent, 0, fielContent.Length); //关闭并释放内存流 ms.Close(); ms.Dispose(); //关闭并释放文件流 writer.Close(); writer.Dispose(); reader.Close(); reader.Dispose(); } } }
查看全文
相关阅读:
Docker容器操作
Docker的镜像操作
CentOs安装Docker
超长字符串
编程之美-2.11 扩展 寻找距离最远的两个点
编程之美-2.8 找到符合条件的整数
编程之美-2.4 1的数目
编程之美-1.16 24点游戏
logistic回归 c++ 实现
朴素贝页斯分类法 c++实现
原文地址:https://www.cnblogs.com/javawebsoa/p/2458115.html
最新文章
AtCoder Beginner Contest 176
kuangbin带你飞 专题十二 基础DP
【dp每日一题】POJ 3666 Making the Grade
【dp每日一题】POJ 3616 Milking Time
【dp每日一题】HDU 2859 Phalanx
【dp每日一题】POJ 3186 Treats for the Cows
【dp每日一题】POJ 1661 Help Jimmy
【dp每日一题】POJ 1015 Jury Compromise
【dp每日一题】HDU 1160 FatMouse's Speed
【dp每日一题】HDU 1260 Tickets
热门文章
【dp每日一题】HDU 1176 免费馅饼
【dp每日一题】HDU 1114 Piggy-Bank
本博客大纲-更新中
Pandas初体验
Numpy初体验
使用Docker创建MongoDb服务
MySQL如何搭建主库从库(Docker)
Docker私有仓库的搭建与使用
Dockerfile怎么用
Docker备份迁移
Copyright © 2011-2022 走看看