铂西学习日记---字符字节转换流

首先不能迷:

字节流:OutputStream --> FileOutputStream,InputStream --> FileInputStream

字符流:Writer --> FileWriter,Reader --> FileReader

字符字节转换流:Writer --> OutputStreamWriter,Reader --> InputStreamReader

流向不同,相互转换: 

* OutputStreamWriter:可以将输出的字符流转换为字节流的输出形式
* InputStreamReader:可以将输入的字节流转换为字符流的输入形式

 示例:

import java.io.*;
import java.nio.charset.Charset;

public class demo_io3 {
    public static void main(String[] args) throws FileNotFoundException {
//        InputStream in = new FileInputStream("1.txt");
//        read(in);
        OutputStream out = new FileOutputStream("1.txt",true);
        write(out);
    }
    /**
     * 字符字节转换流
     * OutputStreamWriter:可以将输出的字符流转换为字节流的输出形式
     * InputStreamReader:可以将输入的字节流转换为字符流的输入形式
     */

    //将输入流作为参数
    public static void read(InputStream in){
        //假如传进来的是一个文本,那么使用字符流会更好
        //将字节的输入流转换为字符的输入流
        Reader reader = new InputStreamReader(in, Charset.forName("UTF-8"));
        //处理字符
        char[] chars = new char[1024];
        int len = -1;
        try {
            while (((len=reader.read(chars))!=-1)) {
                System.out.println(new String(chars,0,len));
            }
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    //将输出流作为参数
    public static void write(OutputStream out){
        Writer writer = new OutputStreamWriter(out,Charset.forName("UTF-8"));
        try {
            writer.write("哈哈哈哈哈");
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小狗铂西

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值