5.文件复制:文件内容如何复制???

    技术2022-07-12  68

    5.文件复制:文件内容如何复制???

    学习:第7遍


    1.文件内容如何复制???


    public class Test{ public static void main(String[] args) { copyByCharacter(); copyByBytes(); } //每次复制一个字节的静态方法 public static void copyByCharacter(){ FileInputStream fis = null; FileOutputStream fos = null; try { fis = new FileInputStream("c:/aaa/a.txt"); fos = new FileOutputStream("c:/aaa/new.txt"); int data=-1; while((data=fis.read())!=-1){ //fos.write(data) 参数:可以是字节数组也可以是int类型的字节值 //读一个字节,写一个字节,效率很低 fos.write(data); } System.out.println("文件按字节复制成功"); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ //在finally里写clos()关闭流 if(fis!=null){ try { fis.close(); } catch (IOException e) { e.printStackTrace(); } } if(fos!=null){ try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } } } //每次复制字节数组静态方法 public static void copyByBytes(){ //这次用try-with-resource写法 try ( FileInputStream fis = new FileInputStream("c:/aaa/a.txt"); FileOutputStream fos= new FileOutputStream("c:/aaa/newbytes.txt"); ){ //假设每次读取1024字节 byte[] buffer=new byte[1024]; int num=-1; while((num=fis.read(buffer))!=-1){ //fos.write(data) 参数:可以是字节数组也可以是int类型的字节值 //读一个字节,写一个字节,效率很低 fos.write(buffer,0,num); } System.out.println("文件按字节数组复制成功"); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
    Processed: 0.020, SQL: 9