Итак, насколько я знаю, я должен иметь возможность доступа к файлам внутри zip-файлов, просто указав на них проводник (например, используйте их как виртуальные папки), например, c:\test.zip\test.txt если мой тест .zip содержит файл test.txt.

Это, однако, не работает для меня. Вместо этого я получаю всплывающее окно "Система не может найти указанный путь". Это несколько странно, поскольку проводник, похоже, распознает файл test.txt в архиве, поскольку после добавления обратной косой черты после zip-файла он "предлагает" файл test.txt в архиве.

Я также слышал, что я должен иметь возможность использовать файлы через URI в приложениях C #, но там я получаю исключение TargetInvocationException, говорящее почти то же самое, не могу найти указанный путь.

Итак, я просто неправильно понял всю концепцию, я делаю что-то не так или моя система просто работает?

1 ответ1

2

AFAIK, возможность видеть файлы внутри zip-архива является функцией «Explorer.exe», а не «Windows File Subsystem»;

Поэтому , когда вы Откройте c:\test.zip\test.txt формы внутри проводника, он фактически извлекает файл и помещает его в временной папке, а затем Open «s его из этого места.

Чтобы получить доступ к файлу из любой другой программы (включая вашу собственную), вам сначала нужно извлечь файл.

Изменить: Для доступа из C # см. Https://stackoverflow.com/questions/507751/extracting-files-from-a-zip-archive-programmatics-using-c-and-system-io-packa

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .