在导出的 eclipse rcp 产品中写入文件
writing files in exported eclipse rcp product
我是新手,我正在使用 eclipse-rcp 并尝试使用保存在 xml files.when 中的数据构建地址簿 files.when 我是 运行 它能够做到的项目读取和写入 xml 文件,但是当我将其导出到 rcp 产品中时,它只能读取文件而不能写入。
我尝试搜索 Google 但找不到相关答案,所以我求助于 SO。
有什么建议吗??
编辑 这是我尝试读取文件并将其写入 xml 文件
的方法
public void writedata() {
try {
DocumentBuilderFactory builderFactory = DocumentBuilderFactory
.newInstance();
DocumentBuilder builder = builderFactory.newDocumentBuilder();
Bundle bundle = Platform.getBundle(Activator.PLUGIN_ID);
URL fileURL = bundle.getEntry("/xmlfiles/person.xml");
InputStream inputStream=fileURL.openStream();
Document xmlDocument = builder.parse(inputStream);
..................................................
..................................................
..................................................
TransformerFactory transformerFactory = TransformerFactory
.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(xmlDocument);
Bundle bundle1 = Platform.getBundle(Activator.PLUGIN_ID);
URL fileURL1 = bundle1.getEntry("/xmlfiles/person.xml");
StreamResult result = new StreamResult(new File(FileLocator.resolve(fileURL1).getPath()));
transformer.transform(source, result);
当您 运行 来自 Eclipse 的应用程序时,它会为您的插件使用扩展的项目文件夹。您的 XML 文件在此位置可写。
当您导出为 RCP 应用程序时,您的插件将被打包为一个插件 jar 文件,其中包含 XML 文件。您将无法写入此文件。
要使文件可写,它需要在您的插件项目之外,在 RCP 应用程序工作区或外部文件夹中。
我是新手,我正在使用 eclipse-rcp 并尝试使用保存在 xml files.when 中的数据构建地址簿 files.when 我是 运行 它能够做到的项目读取和写入 xml 文件,但是当我将其导出到 rcp 产品中时,它只能读取文件而不能写入。
我尝试搜索 Google 但找不到相关答案,所以我求助于 SO。
有什么建议吗??
编辑 这是我尝试读取文件并将其写入 xml 文件
的方法public void writedata() {
try {
DocumentBuilderFactory builderFactory = DocumentBuilderFactory
.newInstance();
DocumentBuilder builder = builderFactory.newDocumentBuilder();
Bundle bundle = Platform.getBundle(Activator.PLUGIN_ID);
URL fileURL = bundle.getEntry("/xmlfiles/person.xml");
InputStream inputStream=fileURL.openStream();
Document xmlDocument = builder.parse(inputStream);
..................................................
..................................................
..................................................
TransformerFactory transformerFactory = TransformerFactory
.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(xmlDocument);
Bundle bundle1 = Platform.getBundle(Activator.PLUGIN_ID);
URL fileURL1 = bundle1.getEntry("/xmlfiles/person.xml");
StreamResult result = new StreamResult(new File(FileLocator.resolve(fileURL1).getPath()));
transformer.transform(source, result);
当您 运行 来自 Eclipse 的应用程序时,它会为您的插件使用扩展的项目文件夹。您的 XML 文件在此位置可写。
当您导出为 RCP 应用程序时,您的插件将被打包为一个插件 jar 文件,其中包含 XML 文件。您将无法写入此文件。
要使文件可写,它需要在您的插件项目之外,在 RCP 应用程序工作区或外部文件夹中。