通过 字节流和字符流 复制文件例子

时间:2021-08-14 16:16:44
 /**
* @Description: 通过字节流复制一个文件
* @param src 源文件的路径
* @param target 目标文件的路径
* @author L.Eric
* create: 2013-4-16
*/
public static void copyFile(String src, String target){
InputStream is = null;
OutputStream os = null;

try {
is = new FileInputStream(src);
os = new FileOutputStream(target);
byte[] buff = new byte[1024];
int len = 0;
while((len = is.read(buff, 0, buff.length)) != -1) {
os.write(buff, 0, len);
}
System.out.println("文件拷贝成功!");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if(os!=null){
try {
os.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if(is!=null){
try {
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}

}
 /** * @Description: 通过字符流复制一个文件 * @param src    源文件的路径 * @param target   目标文件的路径 * @author L.Eric * create: 2013-4-16 */public static void copyFile2(String src, String target){Reader read = null;Writer write = null;try {read = new FileReader(src);write = new FileWriter(target);//定义缓冲区char[] buff = new char[1024];int len = 0;while((len = read.read(buff, 0, buff.length)) != -1) {write.write(buff, 0, len);}} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} finally {if(write != null){try {write.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} finally {try {read.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}}