English 中文(简体)
Java文件.canWrite()在Vista和超级隐藏文件上。
原标题:
  • 时间:2008-11-11 10:57:27
  •  标签:

我有一些有效地实现了这个功能的代码:

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

It prints true. Now the odd thing is, I can create the file without any exceptions. Furthermore, another program can read the file I ve created. The thing is, in Windows Explorer, the file doesn t show up at all!

展示隐藏文件,你可能会想,但不,我已经打开了那个选项。

我也发现了Vista中的超级隐藏文件,所以我开启了这个选项,但我仍然看不到这个文件!也许我没有正确编辑我的注册表-我只能假设这个文件是超级隐藏的-还能在哪里呢?

现在的问题是,我正在创建一个HTML文件,但是当我打开浏览器时,它无法看到这个HTML文件,因为它被设置为超级隐藏。

我该怎么防止Java创建一个超级隐藏文件?这是在JRE 6更新6下运行的。

最佳回答

你很可能是文件夹重定向的“受害者”。当UAC被启用时,如果你不是以管理员身份运行程序,对Program Files的任何写操作都会被重定向到其他地方。

你应该在C:Users<用户名>AppDataLocalVirtualStore<插入><预期><路径><这里>中找到你的文件。

当然,正确的修复方法是刚开始就不要写入Program Files。 相反,使用用户主目录中的某个位置(您应该写入的确切位置取决于应用程序的目的)。

问题回答

我相信更新10可能已经改变了这种行为。我知道他们重新实现了很多浏览器的东西,以更好地与vista兼容。虽然我不是100%确定,但我建议你去看看。





相关问题
热门标签