我在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" />
提前致谢。
答案 0 :(得分:0)
您在包含刚刚保存的本体的文件上调用file.delete()
。这不太可能是你想要的。