解压缩&将文件存储在本地存储UWP中

时间:2016-04-17 17:04:46

标签: c# win-universal-app

我正在开发一款应用程序" Bible Lite"它有17种不同语言的XML圣经。为了节省空间,我将其压缩到Assets文件夹中的 archived.zip 。我想用不同的语言解压缩包含圣经的文件夹,并在用户下载并首次开始运行后将其存储在LocalFolder中。

虽然在Win32应用程序上解压缩文件是微不足道的任务,但我很难在UWP的监禁环境中执行此操作。我试过挖堆栈溢出。

我的Zip中只有一个包含各种语言圣经的文件夹。

    private static async Task extractCompressedFile(StorageFolder destinationFolder)
    {


        StorageFolder _folder = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync("Assets");

   /*fails here FileNotFound*/    StorageFile sourceCompressedFile = await _folder.GetFileAsync("archived.zip");   

        ZipFile.ExtractToDirectory(sourceCompressedFile.Path, destinationFolder.Path);

    }

}

2 个答案:

答案 0 :(得分:1)

您需要设置" archived.zip" file' s"复制到输出目录"到"始终复制"

答案 1 :(得分:0)

您可以在“属性”窗口中设置archived.zip的属性。并将构建操作从设置为内容,如下图所示:

enter image description here

无:文件未包含在包清单中。一个示例是包含文档的文本文件,例如自述文件。

内容:该文件包含在包清单中。例如,此设置是.htm,.js,.css,图像,音频或视频文件的默认值。

.zip文件的默认值为