美文网首页
IO流之文件复制(3)

IO流之文件复制(3)

作者: 程序员小杰 | 来源:发表于2020-08-18 15:35 被阅读0次

    上一篇:IO流之字节输入流【InputStream】https://www.jianshu.com/p/70c1b8d7a32d

    一次读取一个字节的方式

     public static void main(String[] args) throws Exception{
            long startTime = System.currentTimeMillis();
            //创建FileInputStream对象
            FileInputStream fis = new FileInputStream("D:\\dev\\1.jpg");
            //创建FileOutputStream对象
            FileOutputStream fos = new FileOutputStream("D:\\dev\\2.jpg");
    
            //一次读取一个字节的方式
            int len = 0;
            while ((len = fis.read()) != -1){
                //使用方法write(),将读取的流写入到目的地的文件中
                fos.write(len);
            }
            //释放资源,先关闭写的(如果写完了,肯定读完了)
            fos.close();
            fis.close();
            long endTime = System.currentTimeMillis();
            System.out.println("文件复制共耗时:" + (endTime - startTime) + "毫秒");
        }
    
    image.png

    一次读取多个字节的方式

     public static void main(String[] args) throws Exception{
            long startTime = System.currentTimeMillis();
            //创建FileInputStream对象
            FileInputStream fis = new FileInputStream("D:\\dev\\1.jpg");
            //创建FileOutputStream对象
            FileOutputStream fos = new FileOutputStream("D:\\dev\\2.jpg");
            //一次读取多个字节的方式
            byte[] bytes = new byte[1024];
            int len = 0;
            while((len = fis.read(bytes)) != -1){
                //使用方法write(),将读取的流写入到目的地的文件中
                fos.write(bytes,0,len);
            }
            //释放资源,先关闭写的(如果写完了,肯定读完了)
            fos.close();
            fis.close();
            long endTime = System.currentTimeMillis();
            System.out.println("文件复制共耗时:" + (endTime - startTime) + "毫秒");
        }
    
    image.png

    流的关闭原则:先开后关,后开先关。

    下一篇:IO流之文件字符输入流【FileReader】https://www.jianshu.com/p/d35a45e96eef

    相关文章

      网友评论

          本文标题:IO流之文件复制(3)

          本文链接:https://www.haomeiwen.com/subject/nrhkjktx.html