Папка «Временные файлы Интернета» в Windows - PullRequest
1 голос
/ 05 марта 2010

Моей Java-программе необходимо удалить все временные интернет-файлы, созданные с помощью элемента управления ActiveX Shell.Explorer.1, созданного этой программой.

Каков наилучший способ сделать это?

Если я захожу в «Инструменты» -> «Свойства обозревателя» в Internet Explorer, нажимаю кнопку «Настройки просмотра истории» на вкладке «Общие», а затем нажимаю кнопку «Просмотр файлов», она переводит меня в эту папку с помощью проводника Windows:

 C:\Documents and Settings\<user-name>\Local Settings\Temporary Internet Files

Затем я вижу список "файлов", хотя я не уверен, что это действительно файлы. Как мне удалить их с помощью Java?

Однако, когда я звоню file.listFiles(), где file - каталог, указанный выше, я не вижу ни одного файла, который вижу в проводнике Windows. Я вижу некоторые скрытые папки.

Ответы [ 3 ]

2 голосов
/ 06 марта 2010

Временные интернет-файлы - это папка с надписью. Представление, которое вы видите в проводнике, представляет собой комбинацию фактических файлов на диске, которые находятся в секретно непредсказуемо названных подпапках, и контейнеров кеша Wininet Url, которые хранят метаданные о файлах (например, с какого URL они пришли, срок действия и т. Д.) , Если вы используете API файловой системы, вы получите то, что на самом деле там. Однако если вы используете API-интерфейсы оболочки, вы можете перечислять их по своему усмотрению. Попробуйте начать с SHParseDisplayName () и перейдите оттуда. И, да, не знаю, как это сделать в Java, но должен быть какой-то способ вызова функций win32 из Java, верно?

0 голосов
/ 08 марта 2010

Как уже говорили другие, временные файлы Интернета - это псевдопапка, содержимым которой управляет Internet Explorer / WinINet.Насколько я знаю, нет никакого способа сопоставить, какие файлы были созданы какими программами (если, возможно, вы не ищете конкретные домены или даты последнего изменения). WinINet предоставляет некоторые ограниченные функциональные возможности для управления этими файлами , но я думаю, что это плохая практика, чтобы копаться там.Зачем тебе (кажется, тебе) нужно это делать?

0 голосов
/ 06 марта 2010

Windows обрабатывает папку Temporary Internet Files (среди прочих) иначе, чем обычные папки.Вам следует обратиться к документации Windows для уточнения, но, как вы узнали, содержимое этой папки, как вы видите ее в проводнике Windows, не совпадает с тем, что находит ваша Java-программа.

Вы можете использоватькомандная строка для просмотра структуры каталогов, чтобы увидеть то, что увидит ваша Java-программа (то есть скрытые папки и т. д.).Также есть специальный файл index.dat, который может быть полезен, когда вам нужно найти файлы с определенными свойствами.

См. Также: обратный инжиниринг index.dat.

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