• 处理流_转换流(字符流)


    处理流_转换流(字符流)

    InputStreamReader:将InputStream转换为Reader,实现字节的输入流转换为字符的输入流

    /**
     * 处理六:转换流的使用
     * 1.转换流:属于字符流
     *  InputStreamReader:将一个字节的输入流转换为字符的输入流
     *  OutputStreamWriter:将一个字符的输出流转换为字节的输出流
     *
     * 2.作用:提供字符与字节之间的转换
     * 3.解码:字节、数组 ---》 字符、字符串  InputStreamReader
     *   编码:字符、字符串 ---》 字节、数组  OutputStreamWriter
     *
     * 4.字符集
     */
    public class IOStreamReaderAndWriter {
        public static void main(String[] args) {
            InputStreamReader inputStreamReader = null;
            try {
                FileInputStream fileInputStream = new FileInputStream("基础语法\a.txt");
    //        InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream);//使用系默认的字符集  UTF-8
                //使用utf-8  取决于原来保存时的字符集
                inputStreamReader = new InputStreamReader(fileInputStream,"UTF-8");
                char[] cbuf = new char[20];
                int len;
                while ((len = inputStreamReader.read(cbuf)) != -1){
                    String string = new String(cbuf,0,len);
                    System.out.println(string);
                }
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                try {
                    if (inputStreamReader != null)
                    inputStreamReader.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    

    OutputStreamWriter:将Writer转换为OutputStream

    /**
     * 处理六:转换流的使用
     * 1.转换流:属于字符流
     *  InputStreamReader:将一个字节的输入流转换为字符的输入流
     *  OutputStreamWriter:将一个字符的输出流转换为字节的输出流
     *
     * 2.作用:提供字符与字节之间的转换
     * 3.解码:字节、数组 ---》 字符、字符串  InputStreamReader
     *   编码:字符、字符串 ---》 字节、数组  OutputStreamWriter
     *
     * 4.字符集
     * 
     */
    public class IOStreamReaderAndWriter {
        public static void main(String[] args) {
            InputStreamReader inputStreamReader = null;
            OutputStreamWriter outputStreamWriter = null;
            try {
            /*
            综合使用InputStreamReader和OutputStreamWriter  实现文本文件字符集的转换
             */
                //造文件 、造流
                File file1 = new File("基础语法\a.txt");
                File file2 = new File("基础语法\gbk_a.txt");
    
                FileInputStream fileInputStream = new FileInputStream(file1);
                FileOutputStream fileOutputStream = new FileOutputStream(file2);
    
                inputStreamReader = new InputStreamReader(fileInputStream,"utf-8");
                outputStreamWriter = new OutputStreamWriter(fileOutputStream,"gbk");
    
                //读写过程
                char[] cbuf = new char[20];
                int len;
                while ((len = inputStreamReader.read(cbuf)) != -1){
                    outputStreamWriter.write(cbuf,0,len);
                }
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                //关闭资源
                try {
                    if (inputStreamReader != null)
                    inputStreamReader.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
                try {
                    if (outputStreamWriter != null)
                    outputStreamWriter.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
    
            }
        }
    }
    
    
  • 相关阅读:
    RTMP直播流媒体服务-开放直播快速开启推流直播
    安防摄像头互联网直播方案LiveGBS设计文档
    GB28181开放流媒体服务平台LiveGBS实际测试时问题排查
    监控摄像头进行网页直播和微信直播的技术方案
    LiveQing云端直播点播-自定义直播快照存储提供基于图片的直播服务
    浏览器低延时播放监控摄像头视频(LiveNVR播放FLV视频流)
    Javascript之计时
    Android之记账本
    Android之布局
    CSS之动态相册
  • 原文地址:https://www.cnblogs.com/qiudajiang/p/13360304.html
Copyright © 2020-2023  润新知