私のアプリケーションにルートディレクトリのファイルがあります。2つのフォルダを後ろに移動する方法
私は、コードの下に使用していた場合:それはまた、デバッグ\ ... \ binが取って
string startupPat = System.IO.Directory.GetCurrentDirectory();
\
どのようにこれを避けるために移動しますか?
私のアプリケーションにルートディレクトリのファイルがあります。2つのフォルダを後ろに移動する方法
私は、コードの下に使用していた場合:それはまた、デバッグ\ ... \ binが取って
string startupPat = System.IO.Directory.GetCurrentDirectory();
\
どのようにこれを避けるために移動しますか?
作業コード:
string test= File.ReadAllText(Path.Combine(System.IO.Directory.GetCurrentDirectory(), "..\\..\\test.txt"));
\bin\Debug
は、プログラムがコンパイルされるデフォルトのフォルダです。 Visual Studioからプログラムを実行する場合、これは現在のディレクトリになる可能性が最も高いです。とにかく、別のフォルダにプログラムをコピーすると、System.IO.Directory.GetCurrentDirectory()
はそのフォルダを返すはずです。あなたのファイルの場合
あなたはあなたのプログラムがされる場所にファイルをコピーするためにプロパティで常にに出力ディレクトリからコピーを設定する必要があります。あなたのプログラムと同じディレクトリに住んでいるすべてのファイルの
あなたはNOTH任意のパスを必要としないん、あなただけの相対的なファイル名を使用することができます
var textReadFromFile = File.ReadAllText("myfile.txt");
その場合正しいパスを入れる方法は? File.ReadAllText(startupPath + "myfile.txt"); – 4est
@ 4est接続バックスラッシュを使用していない 'Path.Combine(startupPath、" myfile.txt ")' –
この場合、パスは必要ありません。 'myfile.txt'がプログラムと同じディレクトリにある場合、相対ファイル名はデフォルトでこのディレクトリになります。 –
何をすべきかあなたは '\ bin \ Debug \'を避けることを意味しますか?=! –