java 字节流复制文件(总)

时间:2021-10-31 20:57:33
public class testCopy {
public static void main(String[] args) throws IOException {
anzhaozijiefuzhi("D:\\123\\001.zip","D:\\123\\002.zip");
}




private static void anzhaozijiefuzhi(String yuanPath,String mubiaoPath) throws FileNotFoundException, IOException {
FileInputStream fin = new FileInputStream(yuanPath);//创建FileInputStream对象,关联要读的源文件
FileOutputStream fout = new FileOutputStream(mubiaoPath);//创建FileOutputStream对象,关联要写的目标文件
File file = new File(yuanPath); //new一个File类的对象,用来调用源文件的长度
int len= (int) file.length(); //创建一个变量来存储源文件的长度,需要强制转换为int型
for(int i =0;i<len;i++){
int data = fin.read(); //调用read方法准备读出
fout.write(data); //调用write方法准备写入
}
fin.close();
fout.close();
}





private static void yicixingduqu(String yuanPath,String  mubiaoPath) throws FileNotFoundException, IOException {
FileInputStream fi = new FileInputStream(yuanPath);//new一个input流对象,与源文件关联
FileOutputStream fo = new FileOutputStream( mubiaoPath);//new一个output流对象,与目标文件关联
File file = new File(yuanPath); //创建一个源文件的File对象
int len = (int) file.length(); //获取文件长度
byte[] b = new byte[len]; //创建一个数组,长度为文件的长度,文件内容储存在数组b中
fi.read(b, 0, len); //调用read方法,
fo.write(b); //调用write方法,将b写出
//关闭流
fi.close();
fo.close();
}
}