Не удалось найти путь к файлу - PullRequest
0 голосов
/ 12 августа 2011

Я пытался получить доступ к следующему пути для чтения некоторых файлов из каталога, но мне не удалось создать исключение System.IO.DirectoryNotFound.

string pathname = @"\AppData\Local\Google\Chrome\User Data\Default\FileSystem\000"

используя следующий код:

 string[] fileNames = Directory.GetFiles(pathname);

Однако я все еще могу найти указанный каталог вручную, и мои файлы для чтения все еще там.

Может ли кто-нибудь помочь мне с решением этой проблемы?

Если я не могу получить доступ к каталогу FileSystem, как я могу прочитать файлы в этом каталоге.

С уважением, Дерек

Ответы [ 3 ]

1 голос
/ 12 августа 2011

Вместо прямого доступа к AppData \ Local, вместо этого вы могли бы использовать

string AppDataLocalPath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
string pathname = AppDataLocalPath + "\Google\Chrome\User Data\Default\FileSystem\000";

В этом случае следует указать путь, независимо от того, где находится профиль пользователя в файловой системе.

0 голосов
/ 12 августа 2011

Загрузите инструмент под названием «Process Monitor» от Microsoft, чтобы проверить, какой путь к файлу фактически используется: http://technet.microsoft.com/en-us/sysinternals/bb896645

Совет: «Process Monitor» отслеживает информацию о жестком диске, реестре и потоке / процессе вв режиме реального времени и позволяет сохранять захваченные следы.

a.Откройте Process Monitor, он начнет отслеживать информацию.

b.Чтобы остановить трассировку, нажмите кнопку на панели инструментов «Увеличительное стекло» (это кнопка «Вкл / Выкл»).

c.Затем нажмите кнопку «Очистить трассировку», чтобы очистить трассировку.

д.Подготовьтесь воспроизвести исключение System.IO.DirectoryNotFound.

e.Затем нажмите кнопку «Начать трассировку» в Process Monitor.

f.Быстро воспроизведите исключение System.IO.DirectoryNotFound.

g.После возникновения ошибки остановите трассировку «Монитор процесса», отсоединив кнопку на панели инструментов увеличительного стекла.

h.Просмотрите журнал и проверьте правильность пути к файлу.

У меня такое ощущение, что это позволит вам увидеть неправильный каталог / путь.

0 голосов
/ 12 августа 2011

Убедитесь, что путь правильный:

string pathname = @"\AppData\Local\Google\Chrome\User Data\Default\FileSystem\000"

Будет искать этот путь в корне диска (т.е. C: \ AppData \ Local \ Google \ Chrome \ User Data \ Default \ 000) из-за первого обратного слеша.

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