私はVisual Stuido 2010ソリューションにCSVファイルを持っています。そのCSVファイルへの絶対パスをどのように判断できるのでしょうか?プロジェクトファイルがユーザーのファイルシステム上のどこにあるかによってパスが変わるため、動的にする必要があります。C#でのリソースへのFilePathの決定
ありがとうございました。 CSVファイルは、アプリケーションの作業ディレクトリにある場合は
私はVisual Stuido 2010ソリューションにCSVファイルを持っています。そのCSVファイルへの絶対パスをどのように判断できるのでしょうか?プロジェクトファイルがユーザーのファイルシステム上のどこにあるかによってパスが変わるため、動的にする必要があります。C#でのリソースへのFilePathの決定
ありがとうございました。 CSVファイルは、アプリケーションの作業ディレクトリにある場合は
は、あなたが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";
。
次に、好きなものを追加することができます。例えば。
csv_path = Path.Combine(exedir, "my_csv_file.csv")
又は
csv_path = Path.Combine(exedir, @"subdir1\subdir2\my_csv_file.csv")
経路は、いくつかの場所(実行のしばしば位置)への絶対的または相対的のいずれかであり得ます。あなたのプロジェクトにCSVファイルを持っている場合は、自動的に出力フォルダ(Copy to Output Directory: Copy always
)へと相対パスを使用してアプリケーションにコピーすることがそのプロパティに設定できます
using (var csv = File.OpenRead("test.csv"))
{
...
}