0

アプリケーションディレクトリでTXTファイルをチェックするWinFormsアプリケーションがあります。1行(ユーザーの電子メール)のみ、またはまったくありません。コードは次のようになります。

public static string GetUserEmail()
    {
        string path = Application.StartupPath + "\\mail.txt";
        MessageBox.Show(path);
       string adres = String.Empty;
       if (File.Exists(path))
        {
            using (StreamReader sr = new StreamReader(path))
            {
                adres = sr.ReadLine();
            }
        }
       else
       {
           using (FileStream fs = File.Create(path))
           {
               using (StreamReader sr = new StreamReader(path))
               {
                   adres = sr.ReadLine();
               }
           }

       }
       MessageBox.Show(adres);
        return adres;
    }

これは、1つの本当に奇妙な動作を除いて機能するようです。プログラムをアンインストールして再インストールすると、ファイルが検出され、前の電子メールが読み取られます。ApplicationDirectoryにそのようなファイルがないことを確認し、Windows、Cドライブ全体を検索し、noımail.txtがありますが、最初のインストールで入力したメールアドレスを見つけて読み取ります。助けてくれてありがとう。

4

1 に答える 1

0

まず第一に、あなたは利用していますApplication.Startup。これにより、実行可能ファイルが存在するパスが返されます。したがって、ファイルを別の場所で検索することに疑問の余地はありません。Cドライブ全体を検索したと言うように、それは本当に奇妙な問題です。Windows Vista と Win 7 で同様の問題に直面していました。これら 2 つのオペレーティング システムでは、ファイルが「SysWow」フォルダにもコピーされることがあります。

于 2009-12-11T12:30:57.157 に答える