Windows 64位中Program Files文件夹的Java路径

时间:2012-08-21 14:48:20

标签: java 64-bit program-files

我试图在java上获取默认的Program Files文件夹。当我使用时:

 System.getenv("ProgramFiles")

它返回“C:\ Program Files”而不是“C:\ Program Files(x86)”

我可以手动添加+(x86),但如果用户使用32位系统则会出错文件夹。

3 个答案:

答案 0 :(得分:8)

您应该使用

System.getenv("ProgramFiles(X86)")

您可以在Wikipedia找到完整的参考资料。

答案 1 :(得分:2)

这是32位程序文件目录的正确答案

System.getenv("ProgramFiles(X86)")

但是,如果程序员正在寻找64位Program Files文件夹但运行32位JVM,则System.getenv(“ProgramFiles”)将返回“\ Program Files(x86)\”作为32的副作用比特兼容性。在某些情况下,程序员仍然需要64位ProgramFiles目录。这个解决方案有它的缺点,但通常会起作用......

System.getenv("ProgramFiles").replace(" (x86)", "")

这比

稍微好一点
System.getenv("SystemDrive") + "\Program Files"    

-Tres

答案 2 :(得分:-2)

可能是尝试并抓住。

try {
  System.getenv("ProgramFiles(X86)");
}
catch (Exception e) {
  System.getenv("ProgramFiles");
}

也许Exception可能更具体,但总体思路。