OWL API存储通过URL打开的本体的本地副本

时间:2017-09-04 11:01:14

标签: android file owl-api

我在Android中使用OWL API 3.4.10。 我正在尝试存储我使用其URL打开的本体的本地副本。

通过URL打开本体后,我尝试用这种方法保存它:

public void saveLocalCopy(OWLOntology o, String filename, String path) throws OWLOntologyStorageException,OWLOntologyCreationException, IOException {
    String extension = ".owl";
    File file = new File(path+filename+extension);

    file.createNewFile();
    manager.saveOntology(o, IRI.create(file));
    file.delete();
 }

当我尝试从指定的路径打开它时,我得到了这个例外:

   com.example.user.myproject W/System.err: org.semanticweb.owlapi.io.OWLOntologyInputSourceException: java.io.FileNotFoundException: /storage/emulated/0/ontology.owl (No such file or directory)

我怎么能管理这个? p.s。:设置了Manifest中的读/写权限:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />

提前致谢。

1 个答案:

答案 0 :(得分:0)

您在包含刚刚保存的本体的文件上调用file.delete()。这不太可能是你想要的。