1. 程式人生 > >引commons-io工具類做檔案的複製及匯出

引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);