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