我试图在java上获取默认的Program Files文件夹。当我使用时:
System.getenv("ProgramFiles")
它返回“C:\ Program Files”而不是“C:\ Program Files(x86)”
我可以手动添加+(x86),但如果用户使用32位系统则会出错文件夹。
答案 0 :(得分:8)
答案 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可能更具体,但总体思路。