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("关闭失败");
                            }
                        }
                    }
                }
            }
        }
    }
  • 相关阅读:
    cocos2d-x编译到android平台后,增加返回键和菜单键支持
    Android 网络权限配置
    Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.
    Andorid第三方库
    JS计算字符串长度(中文算2个)
    JSP table中除了第一行(标题)其他全清空
    [转]整理jquery开发技巧
    [转]整理jquery使用好习惯
    把对象转换成map
    Java ZIP打包
  • 原文地址:https://www.cnblogs.com/duguangming/p/10602843.html
Copyright © 2011-2022 走看看