
ars.file.Operator Maven / Gradle / Ivy
The newest version!
package ars.file;
import java.io.File;
import java.io.InputStream;
import java.util.Map;
import java.util.List;
import ars.util.Nfile;
import ars.file.query.Query;
/**
* 文件操作接口
*
* @author wuyongqiang
*/
public interface Operator {
/**
* 获取工作目录
*
* @return 工作目录
*/
public String getWorkingDirectory();
/**
* 判断文件/文件夹是否存在
*
* @param path 文件/文件目录相对路径
* @return true/false
* @throws Exception 操作异常
*/
public boolean exists(String path) throws Exception;
/**
* 创建目录并返回是否创建成功
*
* @param path 文件目录相对路径
* @return true/false
* @throws Exception 操作异常
*/
public boolean mkdirs(String path) throws Exception;
/**
* 文件/文件目录重命名并返回是否重命名成功
*
* @param path 文件/文件目录相对路径
* @param name 重命名名称
* @return true/false
* @throws Exception 操作异常
*/
public boolean rename(String path, String name) throws Exception;
/**
* 删除文件/文件目录
*
* @param path 文件/文件目录相对路径
* @throws Exception 操作异常
*/
public void delete(String path) throws Exception;
/**
* 拷贝文件/文件目录
*
* @param source 源文件/文件目录
* @param target 目标文件目录
* @throws Exception 操作异常
*/
public void copy(String source, String target) throws Exception;
/**
* 移动文件/文件目录
*
* @param source 源文件/文件目录
* @param target 目标文件目录
* @throws Exception 操作异常
*/
public void move(String source, String target) throws Exception;
/**
* 获取文件查询集合
*
* @return 文件查询集合
*/
public Query query();
/**
* 获取文件描述对象
*
* @param path 文件/文件目录相对路径
* @return 文件描述对象
* @throws Exception 操作异常
*/
public Describe describe(String path) throws Exception;
/**
* 获取文件描述树对象
*
* @param path 文件/文件目录相对路径
* @return 文件描述树对象列表
* @throws Exception 操作异常
*/
public List trees(String path) throws Exception;
/**
* 获取文件描述树对象
*
* @param path 文件/文件目录相对路径
* @param parameters 过滤参数
* @return 文件描述树对象列表
* @throws Exception 操作异常
*/
public List trees(String path, Map parameters) throws Exception;
/**
* 读文件
*
* @param path 文件相对路径
* @return 文件
* @throws Exception 操作异常
*/
public Nfile read(String path) throws Exception;
/**
* 写文件
*
* @param file 源文件
* @param path 目标文件路径
* @throws Exception 操作异常
*/
public void write(File file, String path) throws Exception;
/**
* 写文件
*
* @param file 源文件
* @param path 目标文件路径
* @throws Exception 操作异常
*/
public void write(Nfile file, String path) throws Exception;
/**
* 写文件
*
* @param bytes 文件字节数组
* @param path 目标文件路径
* @throws Exception 操作异常
*/
public void write(byte[] bytes, String path) throws Exception;
/**
* 写文件
*
* @param stream 文件字节流
* @param path 目标文件路径
* @throws Exception 操作异常
*/
public void write(InputStream stream, String path) throws Exception;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy