引commons-io工具類做檔案的複製及匯出
阿新 • • 發佈:2019-01-12
依賴:
<!--檔案讀寫操作-->
<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);