Eclipse RCP插件的文件缓存位置

Eclipse RCP插件的文件缓存位置,eclipse,eclipse-plugin,eclipse-rcp,workspace,Eclipse,Eclipse Plugin,Eclipse Rcp,Workspace,我正在为EclipseRCP应用程序开发一个插件。现在我想缓存一个文件(因为我不想在需要的时候访问互联网)。即使在重新启动应用程序后,也应该可以访问此文件。去哪里最好 我想到了workspace/.metadata文件夹。但我不确定这是否是正确的位置,以及如何检索位置信息。这应该行得通,但我还没有找到ResourcesPlugin ResourcesPlugin.getWorkspace().getRoot().getLocation().toString(); 有谁能告诉我存储这样一个文件的

我正在为EclipseRCP应用程序开发一个插件。现在我想缓存一个文件(因为我不想在需要的时候访问互联网)。即使在重新启动应用程序后,也应该可以访问此文件。去哪里最好

我想到了workspace/.metadata文件夹。但我不确定这是否是正确的位置,以及如何检索位置信息。这应该行得通,但我还没有找到
ResourcesPlugin

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

有谁能告诉我存储这样一个文件的最佳位置吗?

如果您不想让用户看到该文件,请使用插件“state location”。您可以通过以下方式获得此信息:

Bundle=。。。你的插件包
IPath path=Platform.getStateLocation(bundle);
插件的状态位置是一个文件夹,它是工作区元数据的一部分(
.metadata/.plugins/plugin id

你可以把你喜欢的东西放在这个文件夹里。由您的插件来管理这些数据

您可以通过多种方式获取
捆绑包
,例如:

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

Bundle=Platform.getBundle(“插件id”);

注意:您在问题中提到的代码会将文件放在工作区中,并且用户可以看到该文件
ResourcesPlugin
位于
org.eclipse.core.resources
插件中。

非常感谢。这正是我需要的!