public interface FileStore
| 限定符和类型 | 方法和说明 |
|---|---|
boolean |
deleteFile(String key)
删除指定key的文件
|
boolean |
exist(String key)
判断文件是否存在
|
FileInfo |
getFile(String key)
从内容仓库获取文件。
|
InputStream |
getFileAsStream(String key)
从内容仓库获取文件流。
|
long |
getFileSize(String key)
获取文件大小
|
FileInfo |
putFile(File file)
向内容仓库存储一个文件,并返回将来可用于操作文件的Key。
|
FileInfo |
putFile(File file,
String fileName)
向内容仓库存储一个文件,并返回将来可用于操作文件的Key。
|
FileInfo |
putFile(File file,
String fileName,
String relativePath)
向内容仓库中的逻辑相对路径下存储一个文件,并返回将来可用于操作文件的Key
对支持文件逻辑路径的内容仓库实现来说,例如JackRabbitFileStore,文件将被存储在相应的逻辑节点下。
|
FileInfo |
putFileAsStream(InputStream inputStream)
向内容仓库存储一个文件流,并返回将来可用于操作文件的Key。
|
FileInfo |
putFileAsStream(InputStream inputStream,
String fileName)
向内容仓库存储一个文件流,并返回将来可用于操作文件的Key。
|
FileInfo |
putFileAsStream(InputStream inputStream,
String fileName,
String relativePath)
向内容仓库中的逻辑相对路径下存储一个文件流,并返回将来可用于操作文件的Key
对支持文件逻辑路径的内容仓库实现来说,例如JackRabbitFileStore,文件将被存储在相应的逻辑节点下。
|
List<String> |
searchFullText(String keyword)
全文检索 检索出所有匹配关键字的文件Key。
|
Map<String,String> |
searchFullTextWithExcerpt(String keyword)
全文检索并显示摘要。
|
void |
setLoginAccount(String user,
String password)
设定访问账号和密码,必须与仓库实际一致。
|
boolean |
supportFullTextSearch() |
boolean supportFullTextSearch()
void setLoginAccount(String user, String password)
user - 用户名password - 密码FileInfo putFile(File file, String fileName, String relativePath) throws FileStoreException
对支持文件逻辑路径的内容仓库实现来说,例如JackRabbitFileStore,文件将被存储在相应的逻辑节点下。此时 通常不能往一个路径下放置太多(几万以上)文件,而应该用文件夹分开存放,否则影响性能。
对不支持文件逻辑路径的内容仓库实现,例如SimpleFileStore会忽略第三个参数而使用内部算法生成相对路径, 应用程序无需关心,通常也不存在同一节点下存储过多文件而影响性能的问题。
file - 文件对象fileName - 内容仓库中使用的文件名。如果为null或空,则使用file参数所含的文件名。relativePath - 存储相对路径。如果为null或""视为文件要放在根目录下。如果为"a/b/c"则视为放在"根目录/a/b/c"目录下,
以此类推。目录如果不存在,会自动创建。不一定所有的仓库实现都支持存储相对路径,也不是必要的。对仓库实现来说,Key是操作文件的唯一必要条件。
有的存储实现例如SimpleFileStore会基于内部算法实现存储目录结构,因而会忽略该参数。
FileStoreExceptionFileInfo putFile(File file) throws FileStoreException
对支持文件逻辑路径的内容仓库实现来说,例如JackRabbitFileStore,文件将被存储在根节点下,因此 可能会产生根目录下文件过多而影响性能的问题,这需要由应用程序控制。
对不支持文件逻辑路径的内容仓库实现,例如SimpleFileStore将使用内部算法生成相对路径,应用程序无需关心,通常也 不存在同一节点下存储过多文件而影响性能的问题。 内容仓库中使用的文件名为file参数所含的文件名。
file - 文件对象FileStoreExceptionFileInfo putFile(File file, String fileName) throws FileStoreException
对支持文件逻辑路径的内容仓库实现来说,例如JackRabbitFileStore,文件将被存储在根节点下,因此 可能会产生根目录下文件过多而影响性能的问题,这需要由应用程序控制。
对不支持文件逻辑路径的内容仓库实现,例如SimpleFileStore将使用内部算法生成相对路径,应用程序无需关心,通常也 不存在同一节点下存储过多文件而影响性能的问题。
file - 文件对象fileName - 内容仓库中使用的文件名。如果为null或空,则使用file参数所含的文件名。FileStoreExceptionFileInfo putFileAsStream(InputStream inputStream, String fileName, String relativePath) throws FileStoreException
对支持文件逻辑路径的内容仓库实现来说,例如JackRabbitFileStore,文件将被存储在相应的逻辑节点下。此时 通常不能往一个路径下放置太多(几万以上)文件,而应该用文件夹分开存放,否则影响性能。
对不支持文件逻辑路径的内容仓库实现,例如SimpleFileStore会忽略第三个参数而使用内部算法生成相对路径, 应用程序无需关心,通常也不存在同一节点下存储过多文件而影响性能的问题。
inputStream - 文件流对象fileName - 内容仓库中使用的文件名。如果为null或空,则使用file参数所含的文件名。relativePath - 存储的相对路径,目前仅JackRabbit仓库支持。如果为null或""视为文件要放在根目录下。如果为"a/b/c"则视为放在"根目录/a/b/c"目录下,
以此类推。目录如果不存在,会自动创建。指定相对路径仅仅是目前为了优化JackRabbit仓库的内部存储结构(未来可能会删除该参数), 如果应用系统需要记录相对路径,请自行记录该信息而不要依靠仓库实现。 对仓库实现来说,Key是操作文件的唯一必要条件。
基于本地文件的存储实现例如SimpleFileStore会基于内部算法实现优化的存储目录结构,因而会忽略该参数。
FileStoreExceptionFileInfo putFileAsStream(InputStream inputStream, String fileName) throws FileStoreException
对支持文件逻辑路径的内容仓库实现来说,例如JackRabbitFileStore,文件将被存储在根节点下,因此 可能会产生根目录下文件过多而影响性能的问题,这需要由应用程序控制。
对不支持文件逻辑路径的内容仓库实现,例如SimpleFileStore将使用内部算法生成相对路径,应用程序无需关心,通常也 不存在同一节点下存储过多文件而影响性能的问题。
InputStream - 文件流对象fileName - 内容仓库中使用的文件名。如果为null或空,则使用file参数所含的文件名。FileStoreExceptionFileInfo putFileAsStream(InputStream inputStream) throws FileStoreException
对支持文件逻辑路径的内容仓库实现来说,例如JackRabbitFileStore,文件将被存储在根节点下,因此 可能会产生根目录下文件过多而影响性能的问题,这需要由应用程序控制。
对不支持文件逻辑路径的内容仓库实现,例如SimpleFileStore将使用内部算法生成相对路径,应用程序无需关心,通常也 不存在同一节点下存储过多文件而影响性能的问题。
因文件流中没有文件名,故存储后的文件名就使用UUID作为文件名,且无扩展名。 通常情况下,以流方式存储且不指定文件名的场景中,获取文件也应该以流方式获取。
InputStream - 文件流对象FileStoreExceptionFileInfo getFile(String key) throws FileStoreException
key - 在往内容仓库存放文件时获得的文件key。FileStoreExceptionInputStream getFileAsStream(String key) throws FileStoreException
key - 在往内容仓库存放文件时获得的文件key。FileStoreExceptionlong getFileSize(String key) throws FileStoreException
key - 在往内容仓库存放文件时获得的文件key。FileStoreExceptionboolean exist(String key) throws FileStoreException
key - 在往内容仓库存放文件时获得的文件key。FileStoreExceptionboolean deleteFile(String key) throws FileStoreException
key - 在往内容仓库存放文件时获得的文件key。FileStoreExceptionList<String> searchFullText(String keyword) throws FileStoreException
keyword - 需要检索的关键字FileStoreException - 不支持全文检索或其他异常ExceptionMap<String,String> searchFullTextWithExcerpt(String keyword) throws FileStoreException
keyword - 需要检索的关键字FileStoreExceptionCopyright © 2018. All rights reserved.