...
2、ResourceIOUtils首先会根据传入的路径,根据路径指向的文件夹,选择是否在资源仓库读写。例如,资源文件存储在FTP服务器,而logs、libs等都放在本地,当向一个非资源文件写入时,会调用本地文件系统的FileSystemRepository,当读取一个报表时则会从FTPResourceRepository读。
3、公有方法描述:
方法名称 | 作用描述 | 返回值/参数说明 |
---|
renameTo | 重命名 |
| |
|
copy | 复制 | 源路径和目标路径应该处于同一个存储下 |
createFile | 创建文件 | 若已经存在返回false |
createDirectory | 创建文件夹 | 自动连续创建,没有mkdir和mkdis区别 |
isDirectory | 是否是文件夹 |
|
|
list | 列出文件夹下的内容名称 | 返回的是文件名列表 |
listWithFullPath | 列出文件夹下内容的路径 | 返回的是文件的绝对路径列表 |
isDirectoryExist | 文件夹是否存在 |
|
|
write | 写 | 接受InputStream、byte[]、String类型的数据 |
delete | 删除文件或文件夹 |
|
|
inputStream2String | InputStream转String |
|
|
inputStream2Bytes | InputStream转byte[] |
|
|
readFileFromRepoToLocal | 从资源仓库读取文件到本地 | 若不指定本地文件夹,会自动指定一个 |
readDirFromRepoToLocal | 从资源仓库读取文件夹到本地 | 若不指定本地文件夹,会自动指定一个 |
unzip | 解压 | 压缩文件可以在本地也可以在资源仓库 |
...
四、规范约束
ResourceRepository作为一个通用的资源仓库,并没有规定路径的名称,不仅仅可以读写资源文件,其它存在仓库中的文件同样可以访问。
...
c、如果使用绝对了路径,如/Users/rinoux/FineProjects/finereport-ft/env/WebReport/WEB-INF/reportlets/xxx.cpt,还是会去读绝对路径;
五、注意事项
ResourceIOUtils的所有操作方法,均是提供给本地环境使用的,如果设计到远程设计环境,希望在远程设计的客户端,可读读取到服务端的某些资源,需要使用
Code Block |
---|
com.fr.workspace.resource.WorkResource rs = com.fr.workspace.WorkContext.getWorkResource(); |
在获取到WorkResource对象后,再调用响应的读取文件的方法。