import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; //文件夾複製工具 public class FileCopy { public static void copyFolderFileB2B(String fromFile, String toFile) { copyFolderFileB2B(new File(fromFile), toFile); } public static void copyFolderFile(String fromFile, String toFile) { copyFolderFile(new File(fromFile), toFile); } public static void copyFolderFile(File fromFile, String toFile) { //如果爲空就copy文件 if (fromFile.isFile()) { toFile = toFile + "/" + fromFile.getName(); FileWriter toFileWriter = null; FileReader fromFileReader = null; BufferedWriter bw = null; BufferedReader br = null; try { toFileWriter = new FileWriter(new File(toFile)); fromFileReader = new FileReader(fromFile); bw = new BufferedWriter(toFileWriter); br = new BufferedReader(fromFileReader); String lineString = null; String lineSeparator = System.getProperties().getProperty("line.separator");//換行符 while((lineString = br.readLine()) != null) { bw.write(lineString); bw.write(lineSeparator); } bw.flush(); } catch (IOException e) { e.printStackTrace(); } finally { try { if (bw != null) { bw.close(); } if (br != null) { br.close(); } if (fromFileReader != null) { fromFileReader.close(); } if (toFileWriter != null) { toFileWriter.close(); } } catch (IOException e) { e.printStackTrace(); } } return; } File fileTemp = new File(toFile); if (!fileTemp.exists()) { fileTemp.mkdir(); } toFile = toFile + File.separator + fromFile.getName(); if (!new File(toFile).exists()) { new File(toFile).mkdir(); } for (File f : fromFile.listFiles()) { copyFolderFile(f, toFile); } } public static void copyFolderFileB2B(File fromFile, String toFile) { //如果爲空就copy文件 if (fromFile.isFile()) { toFile = toFile + "/" + fromFile.getName(); FileOutputStream toFileWriter = null; FileInputStream fromFileReader = null; BufferedOutputStream bw = null; BufferedInputStream br = null; try { toFileWriter = new FileOutputStream(new File(toFile)); fromFileReader = new FileInputStream(fromFile); bw = new BufferedOutputStream(toFileWriter); br = new BufferedInputStream(fromFileReader); // String lineString = null; byte[] bytes = new byte[1024]; // String lineSeparator = System.getProperties().getProperty("line.separator");//換行符 while(br.read(bytes) != -1) { bw.write(bytes); } bw.flush(); } catch (IOException e) { e.printStackTrace(); } finally { try { if (bw != null) { bw.close(); } if (br != null) { br.close(); } if (fromFileReader != null) { fromFileReader.close(); } if (toFileWriter != null) { toFileWriter.close(); } } catch (IOException e) { e.printStackTrace(); } } return; } File fileTemp = new File(toFile); if (!fileTemp.exists()) { fileTemp.mkdir(); } toFile = toFile + File.separator + fromFile.getName(); if (!new File(toFile).exists()) { new File(toFile).mkdir(); } for (File f : fromFile.listFiles()) { copyFolderFileB2B(f, toFile); } } }