java - 在 Windows 7 上 : Same path but Explorer & Java see different files than Powershell

标签 java windows filesystems

已提交以供您批准,这是一个关于被困在暮光之城的可怜的小 java 进程的故事......

在我举起手来只是说 NTFS 分区已损坏之前,是否有任何合理的解释来解释我所看到的。我有一个这样的路径的文件

C:\Program Files\Company\product\config\file.xml

我在升级后阅读此文件并看到一些奇怪的东西。 Eclipse 和我的 Java 应用程序仍然看到该文件的旧版本,而其他一些程序看到的是新版本。使我确信问题不是我的粗手指的测试是这样的:

在资源管理器中,我输入了上述路径,资源管理器显示了该文件的 版本。通过 Ctrl-F5 强制资源管理器重新加载仍然会产生旧版本。这是我在 Java 中得到的行为。现在在 PowerShell 中我输入

more "C:\Program Files\Company\product\config\file.xml"

我剪切并通过了资源管理器的路径以确保我没有搞砸任何东西,它向我显示了文件的版本。

因此,对于此的编程方面,是否存在缓存或某些系统组件来存储此陈旧引用。我是否负责检查或重置某些类别的文件。我可以想象有人在如何处理 xml 文件以提供一些铃声或口哨声方面是“有创意的”。但这可能只是无聊的情况。

任何见解表示赞赏......谢谢!

最佳答案

这是由于 UAC 虚拟化。您在 C:\Users\<USER>\AppData\Local\VirtualStore\Windows 中看到的额外文件.那是在 Vista 中引入的。 More info can be found at Microsoft Technet .

您还可以通过浏览到 c:\program files 来获取文件的 ghost 版本。在资源管理器中,然后单击“兼容性文件”。

关于java - 在 Windows 7 上 : Same path but Explorer & Java see different files than Powershell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2724639/

相关文章:

java - "throws UncheckedException"是否有意义

java - FINE 记录不记录

windows - 从 exe/pdb 获取有关可执行代码的信息

windows - C++ -'Stream' 未声明的标识符

linux - 在 Linux 内核中,当我们可以获得 "struct file"时如何识别打开的文件

linux - 通过 inode 打开文件

java - 替换 hashmap java 中的重复值字符串

java - 我如何跟踪未知的 Thread/Runnable?

java - 如何在 Windows 8 64 位上构建 Hadoop 2.7.0?

algorithm - 具有跨文件压缩表的文件系统