Определить FilePath для ресурса в C # - PullRequest
3 голосов
/ 12 сентября 2011

У меня есть файл CSV в моем решении Visual Stuido 2010, и мне интересно, как я могу определить абсолютный путь к этому файлу CSV.Мне нужно, чтобы он был динамическим, поскольку путь меняется в зависимости от того, где находится файл проекта в файловой системе пользователя.

Спасибо за помощь.

Ответы [ 4 ]

4 голосов
/ 12 сентября 2011

Если файл CSV находится в рабочем каталоге вашего приложения, вы можете получить абсолютный путь, используя метод Path.GetFullPath :

var result = Path.GetFullPath("file.csv");
// result == @"C:\Users\...Studio 2010\Projects\MyProject\bin\Debug\file.csv";
2 голосов
/ 12 сентября 2011

Путь может быть абсолютным или относительным к некоторому местоположению (часто местоположению исполняемого файла). Если у вас есть CSV-файл в вашем проекте, вы можете установить в его свойствах автоматическое копирование в выходную папку (Copy to Output Directory: Copy always) и в вашем приложении использовать относительный путь:

using (var csv = File.OpenRead("test.csv"))
{
    ...
}
1 голос
/ 12 сентября 2011

Использование Path.GetFullPath Method

0 голосов
/ 12 сентября 2011

Вы можете использовать

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

, чтобы получить основной exe dir.
Тогда вы можете добавить то, что вам нравится.Например,

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

или

csv_path = Path.Combine(exedir, @"subdir1\subdir2\my_csv_file.csv")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...