JavaでデフォルトのProgramFilesフォルダを取得しようとしています。私が使用するとき:
System.getenv("ProgramFiles")
「C:\ ProgramFiles(x86)」ではなく「C:\ProgramFiles」を返します。
+(x86)を手動で追加できますが、ユーザーが32ビットシステムを使用する場合は、間違ったフォルダーになります。
JavaでデフォルトのProgramFilesフォルダを取得しようとしています。私が使用するとき:
System.getenv("ProgramFiles")
「C:\ ProgramFiles(x86)」ではなく「C:\ProgramFiles」を返します。
+(x86)を手動で追加できますが、ユーザーが32ビットシステムを使用する場合は、間違ったフォルダーになります。
これは、32ビットプログラムファイルディレクトリの正解です。
System.getenv("ProgramFiles(X86)")
ただし、プログラマーが64ビットのProgram Filesフォルダーを探しているが、32ビットのJVMを実行している場合、System.getenv( "ProgramFiles")は32ビットの互換性の副作用として "\ Program Files(x86)\"を返します。 。場合によっては、プログラマーは64ビットのProgramFilesディレクトリを必要とします。このソリューションには欠点がありますが、通常は機能します...
System.getenv("ProgramFiles").replace(" (x86)", "")
それよりわずかに良いだけです
System.getenv("SystemDrive") + "\Program Files"
-Tres
おそらく試してみてください。
try {
System.getenv("ProgramFiles(X86)");
}
catch (Exception e) {
System.getenv("ProgramFiles");
}
たぶん、例外はもっと具体的かもしれませんが、その一般的な考えです。