将文件从应用程序安装文件夹复制到本地存储 [英] Copy file from app installation folder to Local storage

查看:37
本文介绍了将文件从应用程序安装文件夹复制到本地存储的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将文件从我的 Windows 8 应用程序的安装位置复制到它的本地存储.我一直在研究并试图这样做无济于事.到目前为止,这是我想出的,但我不确定我哪里出错了.

I'm attempting to copy a file from the installed location of my Windows 8 app to it's local storage. I've been researching around and trying to do this to no avail. This is what I have come up with so far but I'm not sure where I'm going wrong.

    private async void TransferToStorage()
    {


        try
        {
            // Get file from appx install folder
            Windows.ApplicationModel.Package package = Windows.ApplicationModel.Package.Current;
            Windows.Storage.StorageFolder installedLocation = package.InstalledLocation;
            StorageFile temp1 = await installedLocation.GetFileAsync("track.xml");
            // Read the file
            var lines = await FileIO.ReadLinesAsync(temp1);

            //Create the file in local storage
            StorageFile myStorageFile = await localFolder.CreateFileAsync("track_iso.xml", CreationCollisionOption.ReplaceExisting);
            // Write to it
            await FileIO.WriteLinesAsync(myStorageFile, lines);

        }
        catch (Exception)
        {

        }

    }

有什么想法吗?

推荐答案

自己解决了.这是其他遇到此问题/问题的人的方法:

Solved it myself. Here is the method for anyone else that encounters this question / problem:

   private async void TransferToStorage()
    {
        // Has the file been copied already?
        try
        {
            await ApplicationData.Current.LocalFolder.GetFileAsync("localfile.xml");
            // No exception means it exists
            return;
        }
        catch (System.IO.FileNotFoundException)
        {
            // The file obviously doesn't exist

        }
        // Cant await inside catch, but this works anyway
        StorageFile stopfile = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///installfile.xml"));
        await stopfile.CopyAsync(ApplicationData.Current.LocalFolder);
    }

这篇关于将文件从应用程序安装文件夹复制到本地存储的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆