0

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);

また、ソリューションエクスプローラーは次のようになります。ビルドアクションは「リソース」に設定されていますが、最初に「コンテンツ」も試しましたが、どちらも機能しませんでした。

4

1 に答える 1

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)

于 2012-11-28T09:13:55.573 に答える