gpt4 book ai didi

Vista 上的 Java File.canWrite() 和 super 隐藏文件

转载 作者:行者123 更新时间:2023-11-29 10:08:21 26 4
gpt4 key购买 nike

我有一些代码可以有效地做到这一点:

File file = new File("C:\\Program Files (x86)\\Something\\fred.txt");
System.out.println("file.canWrite() = " + file.canWrite());

它打印真实。现在奇怪的是,我可以毫无异常(exception)地创建文件。此外,另一个程序可以读取我创建的文件。问题是,在 Windows 资源管理器中,该文件根本不显示!

显示隐藏文件你可能会想,但没有,我已经打开了这个选项。

我还发现了 Vista 中的“ super 隐藏文件”,所以我打开了该选项,但我仍然看不到该文件!也许我没有正确编辑我的注册表 - 我只能假设该文件是 super 隐藏的 - 它还能在哪里?

现在的问题是我正在创建一个 html 文件,当我启动浏览器时,它看不到 html 文件,因为它是 super 隐藏的。

如何防止 Java 创建 super 隐藏文件?这是在 JRE 6 更新 6 下运行的。

最佳答案

您很可能是文件夹重定向的“受害者”。启用 UAC 后,当您未以管理员身份运行程序时,对程序文件的任何写入都将重定向到其他位置。

您应该在 C:\Users\ \AppData\Local\VirtualStore\ \ \ \ 中找到您的文件。

当然,正确的解决方法是首先不要写入程序文件。相反,请使用用户主目录中的某个位置(您应该写入的确切位置取决于应用程序的用途)。

关于Vista 上的 Java File.canWrite() 和 super 隐藏文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/280600/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com