2016-12-30 8 views
0

Eclipse-RCPアプリケーション用のプラグインを開発しています。今はファイルをキャッシュしたいと思っています(インターネットにアクセスしたくないときはいつでも)。このファイルは、アプリケーションを再起動してもアクセス可能でなければなりません。それに最適な場所はどこですか?Eclipse RCPプラグインのファイルをキャッシュする場所

私はworkspace/.metadataフォルダについて考えました。しかし、私はそれが正しい場所であるかどうか、位置情報を取得する方法についてはわかりません。これは動作するはずですが、私はまだResourcesPlugin

ResourcesPlugin.getWorkspace().getRoot().getLocation().toString(); 

を見つけるために管理していませんでした誰もが私にそのようなファイルを保存するのに最適な場所のためのヒントを与えることはできますか?

答えて

2

ユーザーにファイルを表示させたくない場合は、プラグインの「状態の場所」を使用します。あなたは、この使用して取得する:

Bundle bundle = ... your plugin's Bundle 

IPath path = Platform.getStateLocation(bundle); 

プラグインの状態の場所はワークスペースのメタデータの一部(.metadata/.plugins/plugin id正確には)あるフォルダです。

このフォルダに好きなものを置くことができます。このデータを管理するのはあなたのプラグインに任されています。

次のような様々な方法でBundleを取得することができます:

Bundle bundle = FrameworkUtil.getBundle(getClass()); 

または

Bundle bundle = Platform.getBundle("plugin id"); 

注:あなたがあなたの質問に言及したコードは、ワークスペースにファイルを置くと、それは希望ユーザに見えるようにする。 ResourcesPluginorg.eclipse.core.resourcesプラグインにあります。

+0

ありがとうございます。それがまさに私が必要なものです! – July

関連する問題