C#で間違ったディレクトリ内のファイルを探しているのStreamReader
-
19-09-2019 - |
質問
私は、私はいくつかのディレクトリにファイルを開くところ私はopenFileDialogを使用している形で、Windowsフォームを使用していたプログラムを持っています。それから私は別の関数のStreamReaderで使用して、私は私はStreamReaderを開きたい私の大きな/ debugディレクトリにある第二のファイルを持っています。しかし、いくつかの理由のために私はStreamReaderを代わりにいつものようにビン/デバッグ中にそのディレクトリ内の2番目のファイルを探しopenFileDialogと第一のファイルを開いた後。
誰もが知っていますなぜ彼はそれとどのように私はそれを解決できるのでしょうか?
事前のおかげで、
グレッグ
解決
OpenFileDialog
はその振る舞いを持っています。それは、アプリケーションの現在のディレクトリを変更します。これを防ぐためには、を使用することができますRestoreDirectory
のOpenFileDialog
のプロパティます。
他のヒント
あなたがファイルを開くダイアログでディレクトリを変更すると
は、これはまた、アプリケーションの作業ディレクトリを変化させます。あなたは相対パスを使用しようとしているのであれば、それは間違った場所になります。
溶液である RestoreDirectory 。
あなたは完全なファイルパスだけファイル名を指定しない場合は、
は、そのファイルが現在のディレクトリにあることを意味しています。あなたはOpenFileDialogを使用する場合、それは現在のディレクトリを変更します。
あなたがどこかにかかわらず、現在のディレクトリに設定されているもののファイルにアクセスしたい場合は、、あなたはそれのための完全なパスを指定する必要があります。あなたは、あなたのプログラムがあるフォルダへのパスを取得するにはApplication.StartupPath
を使用することができます。
所属していません StackOverflow