2011-07-18 9 views
2

プログラムでJavaキャッシュディレクトリを見つける方法はありますか?Javaキャッシュディレクトリを見つける - 動的に

Normalyそれがこのようなディレクトリにあります。

"c:/Users/userId/AppData/LocalLow/Sun/Java/Deployment/cache/6.0"

にWindows Vistaで解決します。しかし、私はいくつかのよりダイナミック/正確な方法(最小ハードコードされたコード/でそれを見つける必要があるだろう

System.getProperty("user.home") + someMiddleDir + "/Sun/Java/Deployment/cache/" + 
    versionCode; 

パス)。この

+0

文字列の最初の部分(home + middle dir)は、環境変数%APPDATA%を確認できます。 – Jacob

+0

'' APPDATA'は "C:\ Users \ userId \ AppData \ Roaming"を返しますので、 "ローミング"の代わりに "LocalLow"が必要ですが、提案に感謝します。 –

答えて

5

使用:

com.sun.deploy.config.Config.getCacheDirectory()

一つの良い友人がこの小さな厄介な方法について教えてくれました:)

+0

Java 9ではこれ以上動作しません、残念ながら... – lazlev

0

をより一般的な解決策があるとシステムプロパティdeployment.user.cachedirを読んでください。私はこれをJava 8と9でテストしましたが、両方とも私の場合には動作します。

System.getProperty("deployment.user.cachedir") 
関連する問題