【发布时间】:2015-07-14 07:15:41
【问题描述】:
我需要帮助,因为我需要将 JOSS 集成到现有代码中。我的代码使用 Java 8 的 Consumer 特性。
Consumer<? super GHRepository> action = repo -> {
try {
if(github.getRateLimit().remaining > 0) {
Files.write(this.path, (repo.toString() + "\n").getBytes(), StandardOpenOption.APPEND);
totalIteration++;
} else {
logger.info("Time to pause for " + (github.getRateLimit().reset.getTime() - new Date().getTime()));
//wait until rate limit is ok.
do {
Thread.sleep(60000);
} while(github.getRateLimit().reset.after(new Date()));
}
} catch (Exception e) {
logger.error("Erreur d'écriture dans le fichier : " + e.getMessage());
}
};
此代码运行良好,但机器上的可用磁盘空间不足。所以我需要直接在 OpenStack 容器上写入文件。
我在文档中读到 JOSS 使用此功能上传文件。
StoredObject object = container.getObject("dog.png");
object.uploadObject(new File("/dog.png"));
这是上传已写入文件的方法。但是我需要将文件直接写在容器上。 uploadObject 函数可以在参数中接收一个 InputStream。所以我想用它。但我不知道如何将它与我现有的代码集成。你能帮帮我吗?
【问题讨论】:
标签: java openstack openstack-swift