Проблемы с FileInfo - PullRequest
       7

Проблемы с FileInfo

2 голосов
/ 04 июля 2011

Я итальянский пользователь, и у меня есть следующие каталоги:

  • Utenti (как пользователи)
  • Immagini (как изображения)
  • И т.д ..

Теперь, при поиске файла с помощью Windows SDK API DSearch , я получаю следующий путь:

C: \ Utenti \\ myfile.txt

и когда я вызываю:

FileInfo file = new FileInfo(@"C:\Utenti\<User>\myfile.txt");

поле file.Length выдает исключение (FileNotFound).Но если я использую:

FileInfo file = new FileInfo(@"C:\Users\<User>\myfile.txt");

file.Length работает правильно.

Как я могу решить эту проблему?

Ответы [ 2 ]

4 голосов
/ 04 июля 2011

Используйте Environment.GetFolderPath(Environment.SpecialFolder....));, чтобы получить нужную папку.

Если вы получили откуда-то еще локализованный путь, вы можете попытаться сопоставить его с фактической специальной папкой, локализованной для, взглянув на этот вопрос:* Как получить фактические (локализованные) имена папок? По сути, этот тур с использованием (взаимодействия) функции SHGetLocalizedName .

2 голосов
/ 04 июля 2011

Хорошо известные имена папок и файлов локализуются только на уровне пользовательского интерфейса. Вы должны получить к ним доступ через их правильные имена из кода.

Может быть, перечисление Environment.SpecialFolder поможет вам.

...