Eric_2709 Ответов: 3

Почему я получаю сообщение "файл не существует", когда я делаю файл.getattributes()


У меня есть небольшое приложение WPF, в котором я прошу пользователя ввести имя файла в текстовое поле, чтобы выполнить некоторую обработку этого файла. Когда я запускаю VS2010 в режиме отладки, чтобы увидеть, можно ли найти файл с помощью прилагаемого кода, я получаю сообщение об ошибке "файл не существует", хотя я знаю, что файл существует! Вот этот код:


string PDFfile = System.IO.Path.GetFullPath(this.txtInputFileName.Text);



string strFileAttr = (File.GetAttributes(PDFfile).ToString());

if (!File.Exists(PDFfile))
{

    MessageBox.Show("This file doesn't exist!", "Error", MessageBoxButton.OK);
    return;

}


Что я уже пробовал:

Файл PDFfile существует в том месте, где я запускаю VS2010!

3 Ответов

Рейтинг:
2

Patrice T

Цитата:
Файл PDFfile существует в том месте, где я запускаю VS2010!

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


Eric_2709

Я попытался жестко закодировать полное расположение файла как :
строка PDFfile = "C:\\Users\\ERIC\\Desktop\\XML_Docs\\Praxair (Thailand) Co., Ltd.";

Этот файл действительно существует в указанном месте!! Но я получаю то же самое сообщение об ошибке

"Не удалось найти файл 'C:\Users\ERIC\Desktop\XML_Docs\Praxair (Thailand) Co., Ltd'."

Patrice T

У нас нет доступа к вашему жесткому диску, мы не можем проверить, что ваша программа делает на вашем компьютере.
попробуйте отобразить текущий путь и текущий каталог.

Рейтинг:
1

User 7429338

Исполняемый файл обычно находится в <project directory>\bin\Debug, так что именно там он будет проверять наличие PDF-файла. Если это не то место, куда вы помещаете файл, вы можете указать полный путь.


Eric_2709

Я попытался жестко закодировать полное расположение файла как :
строка PDFfile = "C:\\Users\\ERIC\\Desktop\\XML_Docs\\Praxair (Thailand) Co., Ltd.";

Этот файл действительно существует в указанном месте!! Но я получаю то же самое сообщение об ошибке

"Не удалось найти файл 'C:\Users\ERIC\Desktop\XML_Docs\Praxair (Thailand) Co., Ltd'."

Рейтинг:
0

Richard Deeming

Цитата:
Я попытался жестко закодировать полное расположение файла как :
string PDFfile = "C:\\Users\\ERIC\\Desktop\\XML_Docs\\Praxair (Thailand) Co., Ltd.";

Ты, кажется, скучаешь по этому .pdf расширение:
string PDFfile = "C:\\Users\\ERIC\\Desktop\\XML_Docs\\Praxair (Thailand) Co., Ltd..pdf";

Вы должны настроить Проводник Windows так, чтобы он всегда показывал расширения файлов, чтобы избежать подобных проблем:
Скрыть или показать Расширения имен файлов в Windows 10 учебники по Windows 10[^]

Вы также должны рассмотреть возможность использования один OpenFileDialog[^] чтобы позволить пользователю выбрать файл, а не полагаться на то, что он правильно введет полный путь и имя.