引commons-io工具类做文件的复制及导出
依赖:
<!--文件读写操作-->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.0</version>
</dependency>
导包:
import org.apache.commons.io.IOUtils;
代码:
InputStream pngIs = repositoryService
.getResourceAsStream(deploymentId,processDefinition.getDiagramResourceName());
InputStream bpmnIs = repositoryService
.getResourceAsStream(deploymentId,processDefinition.getResourceName());
//8.构建出OutputStream流
OutputStream pngOs =
new FileOutputStream("G:\\Activiti7开发计划\\Activiti7-day03\\资料\\"+processDefinition.getDiagramResourceName());
OutputStream bpmnOs =
new FileOutputStream("G:\\Activiti7开发计划\\Activiti7-day03\\资料\\"+processDefinition.getResourceName());
//9.输入流,输出流的转换 commons-io-xx.jar中的方法
IOUtils.copy(pngIs,pngOs);
IOUtils.copy(bpmnIs,bpmnOs);
//10.关闭流
pngOs.close();
bpmnOs.close();
pngIs.close();
bpmnIs.close();
解释:
1.首先获取文件流 inputStream;
2.创建输出流outputStream;
3. 使用这个 IOUtils.copy(pngIs,pngOs);方面 传入输入输出流.
第一个参数为读取的流,第二个参数为输出流;
4.关闭流;
补充:
File file = new File("file.txt");
/**
* 判断file.txt文件是否存在,如果不存在,创建该文件
*/
if (!file.exists()) {
file.createNewFile();
}
/**
* 写入字符串到指定的文件中
*/
FileUtils.writeStringToFile(file, "你好", "UTF-8");
/**
* 指定编码表读取内容
*/
String str = FileUtils.readFileToString(file,"UTF-8");
/**
* 复制文件,a.txt文件不存在,会自动创建该文件,将file文件里面的内容即"你好"复制到a.txt
*/
FileUtils.copyFile(file, new File("a.txt"));
/**
* 复制文件夹里面的内容到新的文件夹,如果新文件夹不存在自动创建
*/
File srcDir = new File("D:\\新建文件夹");
File destDir = new File("D:\\文件夹");
FileUtils.copyDirectory(srcDir,destDir);
/**
* 拷贝整个文件夹到新的文件夹,如果新文件夹不存在自动创建
*/
FileUtils.copyDirectoryToDirectory(srcDir, destDir);
/**
* 删除文件
*/
FileUtils.forceDelete(file);
/**
* 删除文件夹
*/
FileUtils.deleteDirectory(destDir);