JAVA基础 IO流二 字符流

3 篇文章 0 订阅

JAVA基础 IO流二 字符流

字符流只能用于纯文本的。

Reader

操作单元:字符流 流向:输入流 功能:节点流
字符流: 只能操作与 纯文本文件
Reader 用于读取字符流的抽象类。

FileReader 使用默认缓冲区大小从字符文件中读取文本

创建流

Reader rd = new FileReader(“D:/haha.txt”);

读入

1>read() 一个字符 System.out.println( (char)(rd.read()));

2>read(char[]) 字符串组单位读取
//卡车
char[] car = new char[1024];
int len = -1; //读入到数组中数据的个数
while((len = rd.read(car))!=-1){
System.out.println(new String(car,0,len));
}

关闭

rd.close();

Writer

Writer 用于写入字符流的抽象类。
FileWriter 使用默认缓冲区大小将文本写入字符文件。

创建流

Writer rd = new FileWriter(new File(“D://AAA.txt”),true); //追加

准备数据

String str = “好好学习,天天向上”;

写出

​ /*
​ void write(char[] cbuf) 写一个字符数组。
​ abstract void write(char[] cbuf, int off, int len) 写一个字符数组的一部分。
​ void write(int c) 写一个字符。
​ void write(String str) 写一个字符串。
​ void write(String str, int off, int len) 写一个字符串的一部分。
​ */
​ rd.write(str);

刷出

rd.flush();

关闭

rd.close();

综合 copy

创建流
准备卡车(字符数组)
读入,写出
刷出
关闭

 		//1.创建流
        Reader rd = null;
        Writer wt = null;
        try {
            rd = new FileReader("D:/haha.txt");
            wt = new FileWriter("D:/BBB.txt",true);
            //2.准备卡车
            char[] car = new char[1024];
            int len = -1;

            //3.读入-->写出
            while((len=rd.read(car))!=-1){
                wt.write(car,0,len);
            }

            //4.刷出
            wt.flush();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            //5.关闭
            try {
                if(wt!=null){
                    wt.close();
                }
                if(rd!=null){
                    rd.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }

        }

    }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值