GzipStream 本身不支持分段压缩..
可以先将700M的文件拆分为小文件...然后分别调用GzipStream压缩..
可以先将700M的文件拆分为小文件...然后分别调用GzipStream压缩..
解决方案 »
- 大家现在用vs2008还是vs2010,具体哪个版本?
- ownerdrawcell()
- .net如何传递类似#的特殊符号
- 请高手看看,不知道为什么得不到正确的结果。
- DataTime对象比较大小
- 在C#中制做资源管理器,如何让它显示网上邻居,我的电脑和我的文档,即系统桌面上的资源,急,请大虾帮忙
- winform中 怎么判断是哪个Form对象是属于哪个窗体的?
- combobox的drawitem不触发的情况,急切!
- timer计时画曲线,又如何保证这条曲线之前画完的部分不会随窗口改变、滚动条移动而改变
- WEBFORM中的DATAGRID为何没显示出来!
- 急急急!数据库打包问题!
- 地球人都知道C#+。Net类库并不能满足我们所需要的全部需求,说C#具有C++的行动力是骗人的,也没有C++的功能齐全(虽然有些实现C++要麻烦点),
using System.IO;
using System.IO.Compression;private void button1_Click(object sender, EventArgs e)
{
FileStream vSourceFileStream = new FileStream(@"c:\temp\temp.bmp",
FileMode.Open, FileAccess.Read, FileShare.Read);
FileStream vDestFileStream = new FileStream(@"c:\temp\temp.zip",
FileMode.OpenOrCreate, FileAccess.Write); GZipStream vGZipStream = new GZipStream(vDestFileStream,
CompressionMode.Compress, true);
byte[] vBuffer = new byte[0x1000];
int vReadLength = vSourceFileStream.Read(vBuffer, 0, vBuffer.Length);
while (vReadLength > 0)
{
vGZipStream.Write(vBuffer, 0, vReadLength);
vReadLength = vSourceFileStream.Read(vBuffer, 0, vBuffer.Length);
}
vGZipStream.Close();
vSourceFileStream.Close();
vDestFileStream.Close();
}private void button2_Click(object sender, EventArgs e)
{
FileStream vSourceFileStream = new FileStream(@"c:\temp\temp.zip",
FileMode.Open, FileAccess.Read, FileShare.Read);
FileStream vDestFileStream = new FileStream(@"c:\temp\temp2.bmp",
FileMode.OpenOrCreate, FileAccess.Write); GZipStream vGZipStream = new GZipStream(vSourceFileStream,
CompressionMode.Decompress, true);
byte[] vBuffer = new byte[0x1000];
int vReadLength = vGZipStream.Read(vBuffer, 0, vBuffer.Length);
while (vReadLength > 0)
{
vDestFileStream.Write(vBuffer, 0, vReadLength);
vReadLength = vGZipStream.Read(vBuffer, 0, vBuffer.Length);
}
vGZipStream.Close();
vSourceFileStream.Close();
vDestFileStream.Close();
}