C#のパスに関する質問です Q1)下記の『@"L3118A41.csv"』のパスは実行ファイルがあるパスでしょうか?
C#のパスに関する質問です Q1)下記の『@"L3118A41.csv"』のパスは実行ファイルがあるパスでしょうか? Q2)プロジェクトのc:\WindowsFoemesWavelet_csvの直下にL3118A41.csv ファイルを置いた場合は、どの様に変更すれば良いでしょうか? StreamReader sr = new StreamReader(@"L3118A41.csv"); 以上、宜しくお願いします。
C言語関連・9閲覧・25
ベストアンサー
A1) C#で作成したexeファイルがどこのフォルダを見るかは カレントディレクトリ(作業フォルダ)で決まります。 初期値は実行ファイル(exeファイル)のあるフォルダとなります。 @"L3118A41.csv" で指定すると、何もしていなければ実行ファイルと同じフォルダにある L3118A41.csv を表す事になります。 ※ショートカットから起動する場合は、ショートカットのプロパティで 作業フォルダの変更を行えます。 この場合、実行ファイルのあるフォルダではなく 作業フォルダにあるcsvファイルを指すことになるので注意してください。 A2) System.Environment.CurrentDirectory プロパティによって変更可能です。 これを変更すればファイル名のみで開く事が可能です。 System.Environment.CurrentDirectory = @"c:\WindowsFoemesWavelet_csv"; StreamReader sr = new StreamReader(@"L3118A41.csv"); ただ、うっかりミスを考えると string folder = @"c:\WindowsFoemesWavelet_csv"; string file = @"L3118A41.csv"; … sfring path = folder + @"\" + file; StreamReader sr = new StreamReader(path); のように、絶対パスで指定できるようにするほうが 汎用性、安全性からもおすすめです。
質問者からのお礼コメント
毎度お世話になります。 丁寧な回答有難う御座いました。 感謝!!!!
お礼日時:6/24 10:51