Windows RT:从项目文件夹中读取文本文件

时间:2013-04-06 18:26:37

标签: c# windows-8 windows-runtime

我正在创建一个包含1000多个.txt文件的Windows rt应用程序,我从中获取其内容。

这些文本文件是我项目的一部分,但我无法用代码阅读它们。

这是我的代码

    static async Task ReadFile(string filePath, List<string> list)
    {
        try
        {
            StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///" + filePath));
            var readThis = await FileIO.ReadLinesAsync(file);
            foreach (var line in readThis)
            {
                list.Add(line);
            }

        }
        catch (FileNotFoundException)
        {
        }
    }

其中filePath是:“txt / data / 14b.txt。

执行代码时列表中包含数据,但应用程序崩溃,我在app.g.i.cs这行发送

            if (global::System.Diagnostics.Debugger.IsAttached) global::System.Diagnostics.Debugger.Break();

任何想法?

3 个答案:

答案 0 :(得分:2)

尝试将文本文件标记为内容构建操作。然后

var file = await StorageFile.GetFileFromApplicationUriAsync( new Uri( "ms-appx:///" + filePath ) );

应加载文件。

答案 1 :(得分:1)

var storageFile = await StorageFile.GetFileFromApplicationUriAsync(new Uri(String.Format("ms-appx:///{Project name}/txt/data/{0}", fileName)));

答案 2 :(得分:0)

尝试替换

StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///" + filePath));

var ProjectFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;
StorageFile file = await ProjectFolder.GetFileAsync(fileName);