import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/**
*
* @author zhangchenxiang
*
*/
public class CopyFileTool {
private CopyFileTool() {
}
/**
* 复制文本文件
*
* @param str
* 要复制的路径及文件 如:d:\\work\\a.txt 注:要复制的文件必须要存在才行
* @param st
* 目的地路径及文件 如:c:\\code\\b.txt
* @throws IOException
*/
public static void copyFile(String str, String st) throws IOException {
// 封装数据源
BufferedReader br = new BufferedReader(new FileReader(str));
// 封装目的地
BufferedWriter bw = new BufferedWriter(new FileWriter(st));
// 读取文件
char[] chs = new char[1024];
int len = 0;
while ((len = br.read(chs)) != -1) {
// 写入数据
bw.write(chs, 0, len);
}
bw.close();
br.close();
}
/**
* 复制包括文本文件在内的所有文件
*
* @param str
* 要复制的路径及文件 如:d:\\work\\a.jpg
* @param st
* 目的地路径及文件 如:c:\\code\\b.jpg
* @throws FileNotFoundException
*/
public static void copyBinary(String str, String st) throws IOException {
//封装数据源
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
str));
//封装目的地
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(st));
//读取文件
byte[] bys = new byte[1024];
int len = 0;
while((len = bis.read(bys))!=-1){
//写入数据
bos.write(bys, 0, len);
}
bis.close();
bos.close();
}
}
|
|