java - Windows 上的 "Temporary Internet Files"文件夹

标签 java windows internet-explorer file activex

我的 Java 程序需要删除由该程序创建的“Shell.Explorer.1”ActiveX 控件创建的所有临时 Internet 文件。

最好的方法是什么?

如果我转到 Internet Explorer 中的“工具”->“Internet 选项”,单击“常规”选项卡上的“浏览历史记录设置”按钮,然后单击“查看文件”按钮,则会使用 Windows 资源管理器转到此文件夹:

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

然后我看到"file"列表,尽管我不确定它们确实是文件。如何使用 Java 删除这些内容?

但是,当我调用 file.listFiles() (其中 file 是上面列出的目录)时,我看不到在 Windows 资源管理器中看到的任何文件。我看到了一些我认为是隐藏的文件夹。

最佳答案

Internet 临时文件是一个假装文件夹。您在资源管理器中看到的 View 是磁盘上实际文件(这些文件位于安全且不可预测命名的子文件夹中)和 Wininet Url 缓存容器(存储有关文件的元数据(例如它们来自哪个 URL、到期日期等))的组合。 。如果您使用文件系统 API,您将获得实际的内容。但是,如果您使用 shell API,则可以按照您想要的方式枚举它们。尝试从 SHParseDisplayName() 开始,然后从那里开始。是的,不知道如何在 Java 中做到这一点,但是应该有某种方法可以从 Java 调用 win32 函数,对吗?

关于java - Windows 上的 "Temporary Internet Files"文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2388395/

相关文章:

java - 单击列表项显示更多信息

java - Android 通过 kotlin 返回非空字体

java - 解析时何时解析别名?

javascript - 为什么 IE8 中不显示 Jquery 日期选择器图标?

javascript - 当 AJAX 请求到具有无效证书的服务器时如何抑制 SSL 错误

java - 如何制作像 Google+ 应用中那样的气泡?

c - 如何处理 Windows 的 ReadDirectoryChangesW() 及其混合的长/短文件名输出?

java - 通过 java 程序执行命令时如何为命令提示符编写/提供输入

c++ - 为什么我的 CTreeCtrl 复选框没有选中?

html - 向左浮动 - 向右浮动仅在 IE9 中中断?