zoukankan      html  css  js  c++  java
  • 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();
                                        }
                                    }
                                }
    
    
          }


    参考资料:http://www.cnblogs.com/vistach/archive/2012/11/05/Windows8_Win8_WinRT_MetroStyleApps_ModernUIApps_Zip_UnZip_Compress_Decompression.html

  • 相关阅读:
    mybatis 使用动态SQL
    mybatis 使用resultMap实现关联数据的查询(association 和collection )
    mybatis中的resultMap
    struts2 + ajax + json的结合使用,实例讲解
    destroy-method="close"的作用
    ajax
    Iterator<转>
    实现ajax
    struts返回json
    orm 相关
  • 原文地址:https://www.cnblogs.com/wangjinming/p/3582869.html
Copyright © 2011-2022 走看看