java檔案操作工具類實現複製檔案和檔案合併

NO IMAGE
1 Star2 Stars3 Stars4 Stars5 Stars 給文章打分!
Loading...

兩個方法:
1、複製一個目錄下面的所有檔案和資料夾
2、將一個檔案目錄下面的所有文字檔案合併到同一個檔案中

複製程式碼 程式碼如下:
package com.firewolf.test;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class FileReaderUtil {
 public static void main(String[] args){
  try {
   //mergeFile(new File(“C:/Documents and Settings/liuxing0/桌面/新建資料夾/script”), new File(“D:/all.sql”));
   copyFiles(new File(“G:/學習資料/筆記”),new File(“G:/Test”));
  } catch (IOException e) {
   e.printStackTrace();
  }
 }

 /**
  * 拷貝某個檔案目錄下面的所有檔案,
  * @param sourcePath 原檔案目錄
  * @param desPath 目的檔案目錄
  */
 private static void copyFiles(File sourceFile,File desFile) throws IOException{
  if(sourceFile.isFile()){
   File file = new File(desFile.getPath() “/” sourceFile.getName());
   FileInputStream fis = new FileInputStream(sourceFile);
   FileOutputStream fos = new FileOutputStream(file);
   int len = 0;
   byte[] buf = new byte[1024];
   while((len = fis.read(buf)) != -1)
    fos.write(buf,0,len);
  }else{
   File dir = new File(desFile.getPath() “/” sourceFile.getName());
   if(!dir.exists())
    dir.mkdir();
   String[] names = sourceFile.list();
   for (int i = 0; i < names.length; i ) {
    copyFiles(new File(sourceFile.getPath() “/” names[i]),dir);
   }
  }
 }

 /**
  * 將一個檔案目錄下面的所有檔案獨到一個檔案中的方法(主要用於將很多文字檔案合併到一起)
  * @param sourceFile
  * @param decFile
  * @return
  * @throws IOException
  */
 private static File mergeFile(File sourceFile,File decFile) throws IOException{
  String[] fileList = sourceFile.list();
  for (String string : fileList) {
   File file = new File(sourceFile.getPath() “/” string);
   if(!file.isDirectory()){

    FileInputStream fis = new FileInputStream(file);
    FileOutputStream fos = new FileOutputStream(decFile, true);
    byte[] buffer = new byte[1024];
    int len = 0;
    while((len= fis.read(buffer)) != -1)
     fos.write(buffer, 0, len);
   }
   else {
    decFile = mergeFile(file,decFile);
   }
  }
  return decFile;
 }
}

您可能感興趣的文章:

java檔案操作工具類分享(file檔案工具類)java工具類之實現java獲取檔案行數一個Java配置檔案加密解密工具類分享java檔案操作工具類Java檔案操作工具類fileUtil例項【檔案增刪改,複製等】Java實現的properties檔案動態修改並自動儲存工具類Java實現的獲取和判斷檔案頭資訊工具類用法示例java基於servlet編寫上傳下載功能 類似檔案伺服器Java實現的檔案上傳下載工具類完整例項【上傳檔案自動命名】

相關文章

程式語言 最新文章