5

JavaでデフォルトのProgramFilesフォルダを取得しようとしています。私が使用するとき:

 System.getenv("ProgramFiles")

「C:\ ProgramFiles(x86)」ではなく「C:\ProgramFiles」を返します。

+(x86)を手動で追加できますが、ユーザーが32ビットシステムを使用する場合は、間違ったフォルダーになります。

4

3 に答える 3

9

使用する必要があります

System.getenv("ProgramFiles(X86)")

完全なリファレンスはウィキペディアにあります。

于 2012-08-21T14:51:28.303 に答える
2

これは、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

于 2015-03-17T04:27:29.000 に答える
-2

おそらく試してみてください。

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

たぶん、例外はもっと具体的かもしれませんが、その一般的な考えです。

于 2012-08-21T15:01:15.560 に答える