zoukankan      html  css  js  c++  java
  • 字节流、字符流复制文件

    注意:先读(FileInputStream)后写(FileOutputStream)

    字节流复制文件代码:

    /* 字节流复制文件*/
    public class CopyArr {
        public static void main(String[] args) {
            long s = System.currentTimeMillis();
            // 
            FileInputStream fis =null;
            FileOutputStream fos=null;
            try {
            fis = new FileInputStream("c:\liu.mp4");
            fos = new FileOutputStream("d:\liu.mp4");
            // 定义字节数组
            byte[] b = new byte[1024*10];
            // 读取操作
            int len = 0;
            while((len=fis.read(b))!=-1){
                fos.write(b,0,len);
            }
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally{
                try {
                    if(fos!=null){
                        fos.close();
                    }
                } catch (Exception e2) {
                    throw new RuntimeException("释放资源失败");
                }finally{
                    if(fis!=null){
                        try {
                            fis.close();
                        } catch (IOException e) {
                            // TODO Auto-generated catch block
                            throw new RuntimeException("释放资源失败");
                            
                        }
                    }
                }
            }
            long e = System.currentTimeMillis();
            System.out.println(e-s);
        }
    }

    字符流复制文件代码:

    /*字符流复制文件*/
    public class Copy {
        public static void main(String[] args) {
            FileReader fileReader=null;
            FileWriter file=null;
            try {
                fileReader = new FileReader("C:\1.txt");
                file = new FileWriter("d:\1.txt");
                //定义字符数组
                char[] c = new char[1024]; 
                //读取操作
                int len = 0;
                while((len=fileReader.read(c))!=-1){
                    file.write(c, 0, len);
                    file.flush();
                }
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally{
                if(file!=null){
                    try {
                        file.close();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        throw new RuntimeException("关闭失败");
                    }finally{
                        if(fileReader!=null){
                            try {
                                fileReader.close();
                            } catch (IOException e) {
                                // TODO Auto-generated catch block
                                throw new RuntimeException("关闭失败");
                            }
                        }
                    }
                }
            }
        }
    }
  • 相关阅读:
    mysql5.7版本,mysql server最大连接数,mysql 用户最大连接数
    spring5源码xml配置文件中的自定义标签解析
    谷粒商城查询商品的查询语句
    vue项目中定义全局filter
    vue页面配置缓存,使页面跳转时填写的数据不丢失
    缓存(缓存穿透、缓存雪崩、缓存击穿)
    分布式锁
    js encodeURI和encodeURIComponent
    SpringBoot配置 访问路径到视图的映射
    阿里云的短信服务使用
  • 原文地址:https://www.cnblogs.com/duguangming/p/10602843.html
Copyright © 2011-2022 走看看