zoukankan      html  css  js  c++  java
  • 处理流_转换流(字符流)

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

    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();
                }
    
            }
        }
    }
    
    
  • 相关阅读:
    jquery 获取easyui combobox选中的值
    一个多余逗号引起的麻烦
    Microsoft.Office.Interop.Excel 放到B/S客户端失败问题 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 80070005 拒绝访问。
    自己收藏-javascript用window.open的子窗口关闭自己并且刷新父窗口
    easyUI datagrid 不刷新问题
    水晶报表中公式字段if else 语句无法正常执行的问题
    SQL SERVER 察看数据库连接池情况
    Data Table 转 List<Type>
    .Net 调用SAP RFC
    VS2017 插件介绍
  • 原文地址:https://www.cnblogs.com/qiudajiang/p/13360304.html
Copyright © 2011-2022 走看看