我的应用程序需要Java和文件系统之间的层,以使文件系统仅包含所有文件的子集(存储在S3上)这一事实变得透明。该层必须执行普通文件IO所做的很多工作,即打开文件,锁定它们以进行读/写等,但是打开它时可能需要下载文件并逐出文件。我需要的另一个功能是,如果文件被锁定以进行读/写,则打开调用可以解锁文件并关闭现有流(即,关闭其他用户)。另一个是临时文件的管理。
有什么远程类似的开源,或者我只是要卷起袖子?我应该从头开始,还是在Java IO中有一些我应该点击的钩子?
答案 0 :(得分:0)
我建议你检查apache commons vfs即使它不是你需要的,你也可以从中找到有用的想法。
答案 1 :(得分:0)
在你的案例中,或许AWS Storage Gateway值得考虑
网关缓存卷:您可以将主数据存储在Amazon S3中,并在本地保留经常访问的数据。 Gateway-Cached卷可显着节省主存储的成本,最大限度地减少在本地扩展存储的需求,并保持对经常访问的数据的低延迟访问。
答案 2 :(得分:0)
该项目旨在简化为Java 7 NIO(java7-fs-base)创建自定义文件系统实现的过程。作者已经实现了Dropbox FS(java7-fs-dropbox),并开始使用S3(java7-fs-amazon-s3)。 https://github.com/fge/java7-filesystems