仿写DOS命令的copy命令(自己写的复制的方法哇)

写出了DOS命令中的tree和dir命令,感觉自己也可以再来点其他的,于是呼呼呼~~~来!在走一个复制粘贴的小程序:


Scanner sc=new Scanner(System.in);
        System.out.print("请输入要读取的文件的全路径:");

        String path=sc.nextLine();

       //定义在该路径下的文件类型
        File f=new File(path);
        //进行容错处理;
        if(f==null||f.isDirectory()||f.exists()==false){
            throw new IllegalArgumentException( f.getName() +"参数不合法 ");
        }
        
        //创建一个读取文件的流
        InputStream iis=new FileInputStream(f);
        
        System.out.print("请输入要读取的文件的全路径:");
        String outFilepath=sc.nextLine();
        File outFile=new File(outFilepath );
        OutputStream oos=new FileOutputStream( outFile );
        
        byte[] bs=new byte[1024];
        int length=0;
        //读取数据
        while((length=iis.read(bs, 0, bs.length) ) !=-1 ){
         <span style="color:#FF0000;">  //最重要的,必须是length ,如果是bs.length,那么存进去最后的也许未达到制定长度,但是却会依然输出,这就造成了资源的浪费,甚至导致文件的乱码! </span> 
           oos.write(bs,0,length);
        }
        <span style="color:#FF6666;">//一般,当输出流到达指定的1024时,会自动输出,但是也许到最后并未满1024,那么,就要用flush来使缓存中的额全部内容输出。</span>
        oos.flush();
        <span style="color:#FF0000;">// 必须关闭输入流!!不然太耗资源了!</span>
        iis.close();
        System.out.println("复制成功"+f.getName()+"成功");
    }




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值