2016-12-30 80 views
0

我正在爲Eclipse-RCP應用程序開發插件。現在我想緩存一個文件(因爲我不想在需要時訪問互聯網)。即使重新啓動應用程序,該文件也應該可以訪問。哪裏會是最好的地方呢?在哪裏緩存Eclipse RCP插件的文件

我想到了工作區/ .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"); 

注意:你在你的問題提的代碼將把文件中的工作空間,它會對用戶可見。 ResourcesPlugin位於org.eclipse.core.resources插件中。

+0

非常感謝。這正是我需要的! – July