• 转换流


    public class OutputStreamWriterextends WriterOutputStreamWriter是从字符流到字节流的桥梁:
    使用指定的charset将写入的字符编码为字节。 它使用的字符集可以由名称指定,也可以被明确指定,或者可以接受平台的默认字符集。
    
    public class InputStreamReader
    extends ReaderInputStreamReader是从字节流到字符流的桥梁:它读取字节,并使用指定的charset将其解码为字符。
    它使用的字符集可以由名称指定,也可以被明确指定,或者可以接受平台的默认字符集。

    ------------------------------------------------------------------------------------------------------------------------
    OutputStreamWriter​构造方法
    OutputStreamWriter​(OutputStream out) 创建一个使用默认字符编码的OutputStreamWriter。
    OutputStreamWriter​(OutputStream out, String charsetName) 创建一个使用命名字符集的OutputStreamWriter。

    --------------------------------------------------------------------------------------------------------------
    InputStreamReader​构造方法
    InputStreamReader​(InputStream in) 创建一个使用默认字符集的InputStreamReader。
    InputStreamReader​(InputStream in, String charsetName) 创建一个使用命名字符集的InputStreamReader。
    
    
    package com.io.liushuaishuai;
    
    import java.io.*;
    import java.util.Arrays;
    
    /*
    public class OutputStreamWriterextends WriterOutputStreamWriter是从字符流到字节流的桥梁:
    使用指定的charset将写入的字符编码为字节。 它使用的字符集可以由名称指定,也可以被明确指定,或者可以接受平台的默认字符集。
    
    public class InputStreamReader
    extends ReaderInputStreamReader是从字节流到字符流的桥梁:它读取字节,并使用指定的charset将其解码为字符。
    它使用的字符集可以由名称指定,也可以被明确指定,或者可以接受平台的默认字符集。
    
     */
    public class convertStreamDemo01 {
        public static void main(String[] args) throws IOException {
            /*
     OutputStreamWriter​(OutputStream out) 创建一个使用默认字符编码的OutputStreamWriter。
    OutputStreamWriter​(OutputStream out, String charsetName) 创建一个使用命名字符集的OutputStreamWriter。
    
             */
    //        FileOutputStream fos = new FileOutputStream("myIOstream\fos.txt");
    //        OutputStreamWriter osw = new OutputStreamWriter(fos );
    
    //        OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("myIOstream\fos.txt"));
            OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("myIOstream\fos.txt"),"GBK");
            osw.write("中国");
            osw.close();
    
            /*
    InputStreamReader​(InputStream in) 创建一个使用默认字符集的InputStreamReader。
    InputStreamReader​(InputStream in, String charsetName) 创建一个使用命名字符集的InputStreamReader。
    
             */
    
            InputStreamReader isr = new InputStreamReader(new FileInputStream("myIOstream\fos.txt"),"GBK");
            //两种方式  一次读取一个字符数据,一次读取一个字符数组数据
    
            //一次读取一个字符数据
            /*int ch;
            while ((ch = isr.read()) != -1) {
                System.out.print((char) ch);
            }*/
    
            //一次读取一个字符数组
            char[] chs = new char[1024];
            int len;
            while((len = isr.read(chs)) != -1) {
                System.out.println(new String(chs,0,len));
    //                        System.out.println(Arrays.toString(chs));//[中, 国,  ,  , ..... ,,]
            }
    
            isr.close();
    
    
    
    
    
    
        }
    }
    
    
    
     
  • 相关阅读:
    [Swift]LeetCode922.按奇偶排序数组 II | Sort Array By Parity II
    [Swift]LeetCode921.使括号有效的最少添加 | Minimum Add to Make Parentheses Valid
    [Swift实际操作]八、实用进阶-(5)通过间接代理进行对象间的消息传递
    [Swift]LeetCode927. 三等分 | Three Equal Parts
    [Swift]LeetCode928. 尽量减少恶意软件的传播 II | Minimize Malware Spread II
    我是大牛,我自豪
    程序员拓展人脉的重要性
    程序员拓展人脉的重要性
    2013年总结(3)-活动篇
    2013年总结(3)-活动篇
  • 原文地址:https://www.cnblogs.com/lsswudi/p/11424356.html
Copyright © 2020-2023  润新知