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

来源:互联网 发布:淘宝店铺如何打造爆款 编辑:程序博客网 时间:2024/05/14 04:08

写出了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()+"成功");    }




0 0
原创粉丝点击