`

文件夹拷贝

阅读更多

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

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics