我有多个海龟文件。我使用 LocalRepositoryManager 和 SailrRepository
将这些turtle(ttl)文件上传到芝麻内存商店将文件上传到芝麻内存商店的代码
LocalRepositoryManager的初始化:
String dataDir = "D:\\SesameStorage\\data\\"
LocalRepositoryManager localManager = new LocalRepositoryManager(new File(dataDir));
localManager.initialize();
将存储库添加到LocalRepositoryManager:
String repositoryName = "data.ttl";
RepositoryConfig repConfig = new RepositoryConfig(repositoryName);
SailRepositoryConfig config = new SailRepositoryConfig(new MemoryStoreConfig());
repConfig.setRepositoryImplConfig(config);
manager.addRepositoryConfig(repConfig);
获取存储库对象:
Repository repository = manager.getRepository(repositoryName);
repository.initialize();
获取存储库连接以向其添加ttl文件。
File f = new File("D:\\SesameStorage\\data.ttl");
String fileName = f.getAbsolutePath();
RepositoryConnection con = repository.getConnection();
con.add(f, "file://" + fileName, RDFFormat.forFileName(fileName));
我成功将data.ttl文件添加到芝麻内存存储区。
但是当我从sesame服务器中删除该存储库并尝试删除data.ttl文件时,它会给我以下异常:
"该进程无法访问该文件,因为该文件正由另一个进程使用。"
删除存储库的代码是:
RepositoryConnection connection = manager.getRepository(repositoryName).getConnection();
if (connection != null) {
connection.clear();
connection.close();
manager.removeRepository(repositoryName);
File srcFile = new File("D:\\SesameStorage\\"+ repositoryName);
if (srcFile.exists()) {
srcFile.delete();
}
}
因此我无法释放或删除海龟文件。
我做错了什么吗?