2013-04-06 131 views
0

我创建了一个windows rt应用程序,其中包含超过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 /数据/ 14b.txt

当执行代码清单中填充数据,但应用程序崩溃,我送。在此行app.gics

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

任何想法的?

+0

查看调试器中'e'变量的内容,它给出抛出异常的上下文。它说什么? – Mic 2013-04-06 18:30:18

+0

[System.ArgumentException] = {“值不在预期范围内。”} – allocator 2013-04-06 18:31:38

+0

抛出的线是什么?你确定它位于该代码中吗?在那里放置一个断点,看看会发生什么。 – Mic 2013-04-06 18:37:43

回答

0

尝试用替代

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

var ProjectFolder = Windows.ApplicationModel.Package.Current.InstalledLocation; 
StorageFile file = await ProjectFolder.GetFileAsync(fileName); 
1
var storageFile = await StorageFile.GetFileFromApplicationUriAsync(new Uri(String.Format("ms-appx:///{Project name}/txt/data/{0}", fileName))); 
2

尝试标记的文本文件生成操作的内容。然后

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

应该加载文件。

相关问题