要求:
通过二进制流的操作方式把程序调整为可以实现对任何类型文件进行文件复制(而不是调用windows命令行的内部命令copy)。
思路:
先在需要复制到的文件夹下用file.createNewFile()新建文件,然后读出要复制的文件内容写入新建的文件中即可。
具体程序如下:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class class004 {
public static void main(String[]args) throws IOException{
String a="E:\\新建文件夹\\a.java";//定义要进行复制的文件路径
try{
File afile=new File(a);
File bfile=new File("E:\\qwe\\a.java");//定义一个复制后的文件路径
bfile.createNewFile();//新建文件
FileInputStream c=new FileInputStream(afile);//定义FileInputStream对象
FileOutputStream d=new FileOutputStream(bfile);//定义FileOutputStream对象
byte[] date=new byte[512];//定义一个byte数组
int i=0;
while((i=c.read(date))>0){//判断有没有读取到文件末尾
d.write(date);//写数据
}
c.close();//关闭流
d.close();//关闭流
System.out.println("文件复制成功");}
catch(IOException e){
e.printStackTrace();
}
}
}
运行结果: