Java拾贝第十二天——IO流之转换流

IO流还提供了一组转换流

主要包括转换输出流(OutputStreamWriter)(转换输入流InputStreamReader)

OutputStreamWriter

转换输出流是Writer的子类,作用是将字节输出流转换为字符输出流。(字节👉字符)

OutputStreamWriter构造方法如下:

public OutputStreamWriter(OutputStream out)

从构造方法也看得出来:接收一个字节流然后实例化一个字符流。

D:\IOtest\text.txt内:

//空

栗子:

    public static void main(String[] args) {
        File file = new File("D:" + File.separator + "IOtest" + File.separator + "text.txt");
        try {
            OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(file));
            writer.write("把字节转换成字符咯");
            writer.flush();
            writer.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

程序运行后,D:\IOtest\text.txt内:

把字节转换成字符咯

InputStreamReader

转换输入流是Reader的子类,作用是将字节输入流转换为字符输入流。(字节👉字符)
InputStreamReader构造方法如下:

public InputStreamReader(InputStream in)

从构造方法也看得出来:接收一个字节流然后实例化一个字符流。

D:\IOtest\text.txt内:

把字节转换成字符咯

栗子:

    public static void main(String[] args) {
        File file = new File("D:" + File.separator + "IOtest" + File.separator + "text.txt");
        try {
            InputStreamReader reader = new InputStreamReader(new FileInputStream(file));
            char[] chars = new char[1024];
            int read = reader.read(chars);
            System.out.println(new String(chars, 0, read));
            reader.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

程序运行结果:

把字节转换成字符咯

注意
没有字符转换字节!!!!(字符👉字节)

posted @ 2023-10-27 16:59  rowbed  阅读(6)  评论(0编辑  收藏  举报