首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows上的"Temporary Internet Files“文件夹

Windows上的"Temporary Internet Files“文件夹
EN

Stack Overflow用户
提问于 2010-03-06 00:49:10
回答 3查看 3.3K关注 0票数 1

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

做到这一点的最好方法是什么?

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

代码语言:javascript
复制
 C:\Documents and Settings\<user-name>\Local Settings\Temporary Internet Files

然后我看到了“文件”的列表,尽管我不确定它们是否真的是文件。如何使用Java删除这些内容?

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-03-06 16:21:08

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

票数 2
EN

Stack Overflow用户

发布于 2010-03-06 12:34:33

Windows对Temporary Internet Files文件夹(以及其他文件夹)的处理方式与常规文件夹不同。您必须查阅Windows文档了解细节,但正如您已经发现的那样,您在Windows资源管理器中看到的该文件夹的内容与您的Java程序找到的内容不匹配。

您可以使用命令提示符浏览目录结构,以查看Java程序将看到的内容(即隐藏文件夹等)。还有一个特殊的index.dat文件,当您需要查找具有某些属性的文件时,它可能会很有帮助。

另请参阅:reverse engineering index.dat

票数 0
EN

Stack Overflow用户

发布于 2010-03-08 05:16:28

正如其他人所说,临时Internet文件是一个伪文件夹,其内容由Internet Explorer / WinINet管理。据我所知,没有任何方法可以关联哪些文件是由哪些程序创建的(除非您正在寻找特定的域或最后修改日期)。WinINet does provide some limited functionality for managing these files,但我认为在那里乱搞是不好的做法。为什么你(认为你)需要这样做?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2388395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档