0
点赞
收藏
分享

微信扫一扫

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

以沫的窝 2022-01-31 阅读 57
java

首先不能迷:

字节流: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();
        }
    }
}
举报

相关推荐

铂西学习日记---List

铂西学习日记---字节数组流

铂西学习日记---队列与栈

铂西学习日记---对象流与序列化

Java字节字符流转换

读的转换流

0 条评论