zoukankan      html  css  js  c++  java
  • 用字节流与字符流 分别实现文件内容的复制

    1。字节流

    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    public class FileOut2 {
        public static void main(String[] args) throws IOException {
            File file = new File("xx.txt");
            FileInputStream in = new FileInputStream(file);
            BufferedInputStream bif = new BufferedInputStream(in);
            int a = 0;
            byte[]  c= new byte[10]; // 字节流使用byte
            FileOutputStream out = new FileOutputStream("yy.txt");
            BufferedOutputStream bof = new BufferedOutputStream(out);
    
            while ((a = bif.read(c,0,10)) != -1){
                bof.write(c);
            }
            bof.flush();
            in.close();
            out.close();
        }
    }

    2。字符流

    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    
    public class FileOut {
        public static void main(String[] args) throws IOException {
            File file = new File("xx.txt");
            FileReader in = new FileReader(file);
            BufferedReader bif = new BufferedReader(in); //缓冲输入流,
            int a = 0;
            char[]  c= new char[10]; //字符流使用char
            FileWriter out = new FileWriter("yy.txt");
            BufferedWriter bof = new BufferedWriter(out);
    
            while ((a = bif.read(c,0,10)) != -1){
                bof.write(c);
            }
            bof.flush();
            in.close();
            out.close();
        }
    }

    两者都使用了缓冲,流程如下:

    读取的文件 --  输入流  --  缓冲输入流  -- 内存  --  缓冲输出流 -- 输出流  -- 写入的文件

  • 相关阅读:
    dljd_(004_005)_jdbc编程步骤
    dljd_003_jdbc编程_概述
    dljd_002_通过接口降低代码的耦合度(2)
    dljd_001_通过接口降低代码的耦合度(1)
    dljd_(002-003)_什么是持久化
    dljd_001_由hibernate名称引出的相关知识
    001_学习26个英文字母
    06_dljd_mysql数据库常用操作
    05_dljd_mysql数据库表的介绍
    【数据结构】树状数组(简单名次树)
  • 原文地址:https://www.cnblogs.com/heiniao/p/6564503.html
Copyright © 2011-2022 走看看