Как прочитать файл из папки установки приложения, используя c #? - PullRequest
3 голосов
/ 28 апреля 2010

Я читаю файл, используя File.ReadAllText ("filename.txt"). Этот файл находится в той же папке, где находится файл .exe (c: / program files / папка установки). Но приложение для Windows по умолчанию смотрит в папку System32 для этого файла.

** Я не хочу жестко задавать путь к файлу.

Ответы [ 4 ]

8 голосов
/ 28 апреля 2010
string path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase );

Дает каталог исполняемого файла. Поэтому использование этого с Path.Combine даст желаемый результат:

string filenamelocation = System.IO.Path.Combine(path, "filename.txt");
6 голосов
/ 28 апреля 2010

Попробуйте эту функцию:

using System.Reflection;

private string MyDirectory()
    {
        return Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
    }

Тогда используйте

File.ReadAllText(MyDirectory() + @"\filename.txt");
3 голосов
/ 28 апреля 2010

намного короче

File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + "filename.txt");
1 голос
/ 28 апреля 2010

Так вам нужен каталог вашего приложения? В этом случае на SO уже есть несколько хороших ответов, например:

Получение каталога приложения из приложения WPF

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...