2011-09-12 5 views
3

私はVisual Stuido 2010ソリューションにCSVファイルを持っています。そのCSVファイルへの絶対パスをどのように判断できるのでしょうか?プロジェクトファイルがユーザーのファイルシステム上のどこにあるかによってパスが変わるため、動的にする必要があります。C#でのリソースへのFilePathの決定

ありがとうございました。 CSVファイルは、アプリケーションの作業ディレクトリにある場合は

答えて

4

は、あなたがPath.GetFullPath Method使用して、絶対パスを取得することができます:あなたがメインのexeファイルのディレクトリを取得するために

string exedir = Path.GetDirectory(Assembly.GetExecutingAssembly().Location) 

を使用することができます

var result = Path.GetFullPath("file.csv"); 
// result == @"C:\Users\...Studio 2010\Projects\MyProject\bin\Debug\file.csv"; 
0


次に、好きなものを追加することができます。例えば。

csv_path = Path.Combine(exedir, "my_csv_file.csv") 

又は

csv_path = Path.Combine(exedir, @"subdir1\subdir2\my_csv_file.csv") 
2

経路は、いくつかの場所(実行のしばしば位置)への絶対的または相対的のいずれかであり得ます。あなたのプロジェクトにCSVファイルを持っている場合は、自動的に出力フォルダ(Copy to Output Directory: Copy always)へと相対パスを使用してアプリケーションにコピーすることがそのプロパティに設定できます

using (var csv = File.OpenRead("test.csv")) 
{ 
    ... 
} 
関連する問題