c#实现metro文件压缩解压例子
在1.zip中增加一张新图片
StorageFile jpg = await KnownFolders.PicturesLibrary.GetFileAsync("1.jpg");
StorageFile zip = await KnownFolders.PicturesLibrary.GetFileAsync("1.zip");
//把上面这句改成如下就成了压缩文件
//StorageFile zip = await KnownFolders.PicturesLibrary.CreateFileAsync(jpg.DisplayName+".zip",CreationCollisionOption.ReplaceExisting);
using (ZipArchive archive = new ZipArchive((await zip.OpenAsync(FileAccessMode.ReadWrite)).AsStream(), ZipArchiveMode.Update))
{
ZipArchiveEntry readmeEntry = archive.CreateEntry(jpg.Name);
byte[] buffer = WindowsRuntimeBufferExtensions.ToArray(await FileIO.ReadBufferAsync(jpg));
using (var writer = readmeEntry.Open())
{
await writer.WriteAsync(buffer, 0, buffer.Length);
}
}
把1.jpg从1.zip中删除
StorageFile zip = await KnownFolders.PicturesLibrary.GetFileAsync("1.zip");
using (ZipArchive archive = new ZipArchive((await zip.OpenAsync(FileAccessMode.ReadWrite)).AsStream(), ZipArchiveMode.Update))
{
//删除文件
archive.GetEntry("1.jpg").Delete();
}
导出1.jpg,newFile为要到出的文件
StorageFile zip = await KnownFolders.PicturesLibrary.GetFileAsync("1.zip");
using (ZipArchive archive = new ZipArchive((await zip.OpenAsync(FileAccessMode.ReadWrite)).AsStream(), ZipArchiveMode.Update))
{
ZipArchiveEntry zipArchiveEntry = archive.GetEntry("1.jpg").
using (Stream fileData = zipArchiveEntry.Open())
{
StorageFile newFile = await KnownFolders.PicturesLibrary.CreateFileAsync(zipArchiveEntry.FullName, CreationCollisionOption.ReplaceExisting);
using (IRandomAccessStream newFileStream = await newFile.OpenAsync(FileAccessMode.ReadWrite))
{
using (Stream s = newFileStream.AsStreamForWrite())
{
await fileData.CopyToAsync(s);
await s.FlushAsync();
}
}
}
}
同类资源
- 使用Win原生API进行压缩解压
易语言使用Win原生API进行压缩解压例子源代码,使用RtlCompressBuffer与RtlDecompressBuffer进行压缩/解压...
- 易语言调用as_zlib压缩解压
易语言调用as_zlib压缩解压例子源代码,使用对象载入flash,执行CallFunction方法,调用flash中的as代码进行压...
- 内存7Z压缩解压
易语言内存7Z压缩解压例子源代码,对前几天有人发布的内存7Z的代码进行了重新整理和标注。...
- rar压缩解压模块可带注释
易语言rar压缩解压模块可带注释例子,添加模块应用后直接可以查看具体的使用方法了,要安装winrar这个软件。...
- 按钮子类化METRO风格
易语言按钮子类化METRO风格模块例子,添加模块应用后直接可以查看具体的使用方法了,不过我这个已经封装为模...
- 易语言rar压缩解压模块
易语言rar压缩解压模块例子,添加模块应用后直接可以查看具体的使用方法了,rar压缩解压有很多BUG而且需要调...
- 7z压缩解压模块
7z压缩解压模块例子,本模块调用7z.dll功能。...
- 常用全能压缩解压模块.rar.zip.7z
易语言常用全能压缩解压模块.rar.zip.7z例子源代码,注释、锁定、删除等功能,全部常用功能等待你的发现。...
- 基于7za制作的急速压缩解压模块
易语言基于7za制作的急速压缩解压模块例子源代码,可为文件,也可为文件夹。...
- Metro界面导航点击弹出页面
Metro界面导航点击弹出页面源代码基于jquery-2.1.1.min.js制作。...
- lzss压缩解压
易语言lzss压缩解压例子源代码。...