zoukankan      html  css  js  c++  java
  • Java IO(十六)InputStreamReader 和 InputStreamWriter

    Java IO(十六)InputStreamReader 和 InputStreamWriter

    一、介绍

    InputStreamReader 和 OutputStreamWriter 是字节流通向字符流的桥梁:它使用指定的 charset 读写字节并将其解码为字符。如果不指定字符集编码,该解码过程将使用平台默认的字符编码,如:GBK。

    • InputStreamReader:字节字符转换输入流,继承于 Reader,它的的作用是将字节输入流转换成字符输入流。
    • OutputStreamWriter :字节字符转换输出流,继承于 Writer,它的的作用是将字节输出流转换成字符输出流。

    二、构造方法

    (一)、InputStreamReader 

    (二)、InputStreamWriter

    三、常用API

    (一)、InputStreamReader 

    (二)、InputStreamWriter

    四、实例

    public class Demo {
        private static char[] chs = new char[] 
                {'a','b','c','d','e','f','g','h','i','j','k','l','m',
                'n','o','p','q','r','s','t','u','v','w','x','y','z'};
        public static void main(String[] args) {
            write();
            read();
        }
        /**
         * OutputStreamWriter 测试
         */
        public static void write() {
            OutputStreamWriter out = null;
            try {
                out = new OutputStreamWriter(new FileOutputStream(new File("demo.txt")));
                out.write(chs);// 写入字符数组
                out.write('A');// 写入字符A
                out.write("0123456789");// 写入字符串
                out.write(chs, 10, 10);// 写入字符数组的一部分
                String str = new String(chs).toUpperCase();// 将字符数组转成字符串并大写
                out.write(str, 0, 10);// 写入字符串的一部分
            } catch (Exception e) {
                e.printStackTrace();
            }finally {
                try {
                    if(out != null)
                        out.close();
                }catch(Exception e) {
                    e.printStackTrace();
                }
            }
        }
        /**
         * InputStreamReader 测试
         */
        public static void read() {
            InputStreamReader in = null;
            char[] buff = new char[20];
            int len = 0;
            try {
                in = new InputStreamReader(new FileInputStream(new File("demo.txt")));
                for(int i = 0;i < 5;i++) {
                    if(in.ready())
                        System.out.println("read() : " + (char)in.read());// 读取一个字符
                }
                len = in.read(buff, 0, 10);// 读取字符一部分
                System.out.println("read(buff, 0, 10) : " + new String(buff,0,len));
            } catch (Exception e) {
                e.printStackTrace();
            }finally {
                try {
                    if(in != null)
                        in.close();
                }catch(Exception e) {
                    e.printStackTrace();
                }
            }
        }
    }
  • 相关阅读:
    Html5与CSS3(选择器)
    halo博客安装教程,一款优秀的java开源博客系统
    java的read方法
    css故障文字动画
    从软件公司的异同点讲起,聊聊未来的程序员该如何选公司和谋规划
    创建一个springboot项目
    每日算法训练
    Error running 'tomcat': Unknown error
    java: 程序包javax.servlet.http不存在
    idea配置阿里maven镜像
  • 原文地址:https://www.cnblogs.com/lingq/p/12929865.html
Copyright © 2011-2022 走看看