我正在尝试获取 java 上的默认 Program Files 文件夹。当我使用:
System.getenv("ProgramFiles")
它返回“C:\Program Files”而不是“C:\Program Files (x86)”
我可以手动添加 +(x86) 但如果用户使用 32 位系统,它将是错误的文件夹。
我正在尝试获取 java 上的默认 Program Files 文件夹。当我使用:
System.getenv("ProgramFiles")
它返回“C:\Program Files”而不是“C:\Program Files (x86)”
我可以手动添加 +(x86) 但如果用户使用 32 位系统,它将是错误的文件夹。
这是 32 位 Program Files 目录的正确答案
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"
-特雷斯
可能是一试身手。
try {
System.getenv("ProgramFiles(X86)");
}
catch (Exception e) {
System.getenv("ProgramFiles");
}
也许例外可能更具体,但一般的想法。