ResourceUtils
操作 相对于Resource目录的文件工具类
[!IMPORTANT]
调用该工具栏的所有方法 传入的 url 都是 基于Resource目录下 不需要加 resource 和 dynamic
如:String path ="images/a.png" 则是 resource目录下images里的 a.png
resource 文件存储位置 基于项目配置 可以配置成文件系统或 minio
如果 不配置 默认位置 为 项目根目录/Project/Server/Resource (3.16框架) 旧版本框架在 /Project/Server/GongqiERP/Resource
addPublicReadPath(String)
开发公共可读目录(不需要登录就能访问该path 下文件 支持配置 正则表达式)
方法签名
gongqi.erp.framework.resource.ResourceUtils.addPublicReadPath(String)
方法入参
- String path:路径 相对Resource目录
示例代码
//一般写在 ent 的 Layer.java 的 registerObjects下面
public class Layer extends gongqi.erp.framework.core.Layer {
/**
* 注册层中需要由容器托管的接口及对象实例。
*/
@Override
public void registerObjects() {
String regex = "^/images(/.*)?$"; // 匹配 '/images' 下的所有文件和目录
ResourceUtils.addPublicReadPath(regex);
}
/**
* 初始化层(执行层的初始化逻辑)。
*/
@Override
public void initialize() {
}
/**
* 销毁层(执行层的自定义销毁逻辑)。
*/
@Override
public void destroy() {
}
}
addTemporaryPublicReadPath(String)
开发临时公共可读目录(不需要登录就能访问该path 下文件 支持配置 正则表达式)
方法签名
gongqi.erp.framework.resource.ResourceUtils.addTemporaryPublicReadPath(String)
方法入参
- String path:路径 相对Resource目录
示例代码
//一般写在 ent 的 Layer.java 的 registerObjects下面
public class Layer extends gongqi.erp.framework.core.Layer {
/**
* 注册层中需要由容器托管的接口及对象实例。
*/
@Override
public void registerObjects() {
String regex = "^/images(/.*)?$"; // 匹配 '/images' 下的所有文件和目录
ResourceUtils.addTemporaryPublicReadPath(regex);
}
/**
* 初始化层(执行层的初始化逻辑)。
*/
@Override
public void initialize() {
}
/**
* 销毁层(执行层的自定义销毁逻辑)。
*/
@Override
public void destroy() {
}
}
copyItem(String,String)
复制文件 从srcPath 到destPath 如果destPath不存在则自动新建
方法签名
gongqi.erp.framework.resource.ResourceUtils.copyItem(String,String)
方法入参
- String srcPath:源文件路径
- String destPath:目标文件路径
deleteItem(String)
删除指定路径path的文件
方法签名
gongqi.erp.framework.resource.ResourceUtils.deleteItem(String)
方法入参
- String path:文件路径
exists(String)
判断指定路径文件是否存在
方法签名
gongqi.erp.framework.resource.ResourceUtils.exists(String)
方法入参
- String path:文件路径
listItems(String)
列举指定路径path 下文件 返回 List
方法签名
gongqi.erp.framework.resource.ResourceUtils.listItems(String)
方法入参
- String path:文件路径
示例代码
List<ResourceItem> items = ResourceUtils.listItems(”/images“)
listItems(String,boolean)
列举指定路径path 下文件 返回 List
方法签名
gongqi.erp.framework.resource.ResourceUtils.listItems(String,boolean)
方法入参
- String path:文件路径
- boolean recursive:是否层级遍历下去
示例代码
List<ResourceItem> items = ResourceUtils.listItems(”/images“,true)
moveItem(String, String)
移动文件 从srcPath 到destPath 如果destPath不存在则自动新建
方法签名
gongqi.erp.framework.resource.ResourceUtils.moveItem(String, String)
方法入参
- String srcPath:源文件路径
- String destPath:目标文件路径
readItemByteArray(String)
读取指定 path文件 返回 byte[] 数组
方法签名
gongqi.erp.framework.resource.ResourceUtils.readItemByteArray(String)
方法入参
- String path:文件路径
readItemStream(String)
读取指定 path文件 返回 InputStream
方法签名
gongqi.erp.framework.resource.ResourceUtils.readItemStream(String)
方法入参
- String path:文件路径
writeItemByteArray(String, byte[])
根据 传入的 byte[] 数组 写入到path目录文件 如果没有path就自动创建
方法签名
gongqi.erp.framework.resource.ResourceUtils.writeItemByteArray(String, byte[])
方法入参
String path:文件路径
Byte[] bytes:二进制
writeItemStream(String, InputStream)
根据 传入的数据流 写入到path目录文件 如果没有path就自动创建
方法签名
gongqi.erp.framework.resource.ResourceUtils.writeItemStream(String, InputStream)
方法入参
String path:文件路径
InputStream input:输入流