Чтение из внешнего текстового файла во встроенном приложении WPF - PullRequest
0 голосов
/ 12 июля 2020

Я создаю настольное приложение в WPF, и оно требует пользовательских настроек из внешнего текстового файла. Файл должен быть доступен для непосредственного управления пользователем после окончательной сборки и публикации.

        String settingsPath = "settings.txt";
        try
        {
            if (!File.Exists(settingsPath)) 
                throw new Exception("settings file does not exist");

            String settingsText = File.ReadAllText(settingsPath);
            MessageBox.Show(settingsText);
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
            Window.GetWindow(this).Close();
        }

Даже когда я создаю файл settings.txt с помощью проводника файлов, он выдает исключение, когда построен.

1 Ответ

0 голосов
/ 12 июля 2020

Текстовый файл, который вы создаете, вероятно, не находится в папке рабочего каталога. Используйте этот код для диагностики вашей проблемы, он покажет вам, где ваш код ищет файл.

        String settingsPath = "settings.txt";
        try
        {
            if (!File.Exists(settingsPath))
                throw new FileNotFoundException("settings file does not exist", Path.GetFullPath(settingsPath));

            String settingsText = File.ReadAllText(settingsPath);
            MessageBox.Show(settingsText);
        }
        catch (FileNotFoundException fileEx)
        {
            MessageBox.Show($"{fileEx.Message}:{fileEx.FileName}");
            Window.GetWindow(this).Close();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
            Window.GetWindow(this).Close();
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...