我正在创建一个Windows Phone应用程序,我将在文本文件中存储关卡数据。
我遇到以下问题:我正在尝试读取文件中的所有行,每次调用Application.GetResourceStream
时都返回null
。
我知道这个话题是由不同的人提出的,但所有的解决方案对我都不起作用。
这是代码:
List<String> fileLines = new List<string>();
var resource = Application.GetResourceStream(
new Uri("Level_data/Level_1.txt", UriKind.Relative));
StreamReader streamReader = new StreamReader(resource.Stream);
string line;
while ((line = streamReader.ReadLine()) != null)
fileLines.Add(line);
此外,解决方案资源管理器看起来像这样。构建操作设置为“资源”,但我也首先尝试“内容”,但也没有工作。
答案 0 :(得分:7)
以下代码有效:
Uri u = new Uri("WindowsPhoneGame1;component/Level_data/Level_1.txt",
UriKind.Relative);
StreamResourceInfo sInfo=Application.GetResourceStream(u);
StreamReader sr= new StreamReader(sInfo.Stream);
string line;
while ((line = sr.ReadLine()) != null)
fileLines.Add(line);
sr.Close();
之前没有工作的唯一原因是Uri的路径是错误的。
现在是:WindowsPhoneGame1;component/Level_data/Level_1.txt
,即(ProjectName);component/(RelativePath)