0

ゲームのハイ スコア ファイルを作成しましたが、それを読み取るのに問題があります。

コンピュータを変更すると、USB ドライブの文字が変更されます。たとえば、ドライブ E からドライブ G に変更されます。

これにより、ファイルの読み取りに問題が発生しています。(string path = @"g:\Scores.txt"; を使用しているため)

だから私の質問は....プログラムの場所へのデフォルトパスを設定できますか??

私の現在のコード:-

string path = @"g:\Scores.txt";
            StringBuilder sb = new StringBuilder();
            using (StreamReader sr = new StreamReader(path))
            {
                while (sr.Peek() >= 0)
                {
                    sb.Append(sr.ReadLine());
                }
            }

どんな助けでも大歓迎です。

4

3 に答える 3

3

ゲームは USB ドライブにもありますか? ファイルをゲームと同じディレクトリに保存しますか、それともその周辺のディレクトリに保存しますか? 次のようにします。

using System;
using System.IO;
using System.Reflection;
...
string thisAsmFile = Assembly.GetExecutingAssembly().Location;
string thisAsmDir = Path.GetDirectoryName(thisAsmPath);
string highScoreFile = Path.Combine(thisAsmDir, "scores.txt");
于 2015-02-12T19:43:46.840 に答える