2018-01-31

java中对文件的读写操作


    public static void main(String[] args) throws IOException{
        Demo demo = new Demo();
        String path1 = "D:/1.txt";
        String path2 = "D:/2.txt";
        demo.useZiJie(path1,path2);
//      demo.useZiJie_bf(path1,path2);
//      demo.useZiFu(path1,path2);
//      demo.useZiFu_bf(path1,path2);
    }
    
    
    
    //用字节流中的FileInputStream和FileOutputStream对文件进行读写
    public void useZiJie(String path1,String path2) throws IOException{
        FileInputStream  fis = new FileInputStream(path1);
        FileOutputStream fos = new FileOutputStream(path2);
        byte[] b = new byte[100];    //用来存取每次读入的数据,如果知道文件大小,直接将100改为文件的大小
        int len = 0;
        while((len=fis.read(b))!=-1){ //read(byte[])每次返回读入的个数,如果已经达到流的结尾,则为-1
            fos.write(b, 0, len);     //0: 从中开始编写字符的偏移量      len:要写入的字符个数
        }
        fos.close();                 //必须关闭,否则无法读写
        fis.close();
        System.out.println("OK!");
        
    }
    
    
    //用字节流中的BufferedInputStream和BufferedOutputStream对文件进行读写
    public void useZiJie_bf(String path1,String path2) throws IOException{
        BufferedInputStream bis = new BufferedInputStream(new FileInputStream(path1));
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(path2));
        byte[] b = new byte[100];   //用来存取每次读入的数据,如果知道文件大小,直接将100改为文件的大小
        int len=0;
        while((len=bis.read(b))!=-1){//read(byte[])每次返回读入的个数,如果已经达到流的结尾,则为-1
            bos.write(b, 0, len);     //0: 从中开始编写字符的偏移量      len:要写入的字符个数
        }
        bis.close();                 //只要关闭最外层的流
        bos.close();
        System.out.println("OK!");
    }
    
    //用字符流中的FileWriter和FileReader对文件进行读写
    public void useZiFu(String path1,String path2) throws IOException{
        FileReader fr = new FileReader(path1);
        FileWriter fw = new FileWriter(path2);
        char[] c = new char[100];    //用来存取每次读入的数据,如果知道文件大小,直接将100改为文件的大小
        int len = 0;
        while((len=fr.read(c))!=-1){ //read(char[])每次返回读入的个数,如果已经达到流的结尾,则为-1
            fw.write(c, 0, len);     //0: 从中开始编写字符的偏移量      len:要写入的字符个数
        }
        fw.close();                 //必须关闭,否则无法读写
        fr.close();
        System.out.println("OK!");
    }
    
    //用字符流中的BufferedReader和BufferedWriter对文件进行读写
        public void useZiFu_bf(String path1,String path2) throws IOException{
            BufferedReader br = new BufferedReader(new FileReader(path1));
            BufferedWriter bw = new BufferedWriter(new FileWriter(path2));
            char[] c = new char[100];   //用来存取每次读入的数据,如果知道文件大小,直接将100改为文件的大小
            int len=0;
            while((len=br.read(c))!=-1){//read(byte[])每次返回读入的个数,如果已经达到流的结尾,则为-1
                bw.write(c, 0, len);     //0: 从中开始编写字符的偏移量      len:要写入的字符个数
            }
            br.close();                 //只要关闭最外层的流
            bw.close();
            System.out.println("OK!");
        }

}```
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、生成CSR文件钥匙串->证书助理->从证书颁发机构请求证书 2、从钥匙串访问导出p12文件钥匙串:登陆、密钥导...
    伊人半笑阅读 502评论 0 0
  • 代码格式规范 Android Code Style Guide Google 面向贡献者的 AOSP 代码样式指南...
    bitQ2019阅读 241评论 0 0
  • 最近在看vue仿饿了吗的视频,因为看很多人说小程序很多部分和vue相似,以前粗浅的学过angular1,现在流行的...
    明月半倚深秋_f45e阅读 14,223评论 15 13
  • 欲速则不达,这个词大家应该都知道,但是往往在现实生活中,说起来容易,做起来难。 现在流行的“速成”,也就是快速的成...
    微芳阅读 528评论 0 3