2016-12-09 7 views
0

自分のプログラムと同じフォルダにファイルが存在することを確認したいと思います。もし何かがあるなら。どのように私はそれを修正することができます?ファイルが存在することを確認する方法c#

private void button12_Click(object sender, EventArgs e) 
{ 

    if (File.Exists(Path.GetDirectoryName(Application.ExecutablePath) + "tres.xml")) 
     Upload("tres.xml"); 

} 
+2

可能な重複[ファイルをプロジェクトフォルダに存在するかどうかを検出するには?](http://stackoverflow.com/questions/3446915/howプロジェクトフォルダに存在することを検出する場合) – Jim

+2

パスを連結する代わりに 'Path.Combine'を使用してください – ColinM

答えて

3

あなたのコードが動作しない理由は、GetDirectoryName戻って終わりがない\。それはでも、文書化です:このメソッドが返す

文字列がへ パスまでのすべての文字で構成されていますが、正しいディレクトリを取得するために、最後のDirectorySeparatorCharまたは AltDirectorySeparatorChar

使用Path.Combineを含みません区切り記号:

string path = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "tres.xml"); 
if(File.Exists(path)) 
{ 
    // ... 
} 
3
File.Exists("tres.xml"); 

これはあなたの.exeファイルの現在のディレクトリをチェックし

+1

.exeの_currentディレクトリであることに注意してください。これは' bin \ Debug'(VSから実行した場合)で、プロジェクトルートではありません。 – BrunoLM

関連する問題