zoukankan      html  css  js  c++  java
  • JavaIO学习:转换流

    转换流

    1.涉及到的类

    • InputStreamReader:将InputStream转换为Reader
    • OutputStreamWriter:将Writer转换为OutputStream

    2.构造器

    • public OutputStreamWriter(OutputStream out)
    • public OutputSreamWriter(OutputStream out,String charsetName)

    3.作用

    • 提供字节流和字符流之间的转换

    4.编码表:

    常见的编码表:

    • ASCII:美国标准信息交换码。用一个字节的7位可以表示。
    • ISO8859-1:拉丁码表。欧洲码表 。用一个字节的8位表示。
    • GB2312:中国的中文编码表。最多两个字节编码所有字符。
    • GBK:中国的中文编码表升级,融合了更多的中文文字符号。最多两个字节编码。
    • Unicode:国际标准码,融合了目前人类使用的所有字符。为每个字符分配唯一的字符码。所有的文字都用两个字节来表示。
    • UTF-8:变长的编码方式,可用1-4个字节来表示一个字符。

    示例:

    public void test2(){
           //1.造文件
           InputStreamReader isr = null;
           OutputStreamWriter osw = null;
           try {
               File file1 = new File("dbcp.txt");
               File file2 = new File("dbcp_gbk.txt");
    
               FileInputStream fis = new FileInputStream(file1);
               FileOutputStream fos = new FileOutputStream(file2);
    
               isr = new InputStreamReader(fis,"utf-8");
               osw = new OutputStreamWriter(fos,"gbk");
                //2.读写过程
               char[] cbuf = new char[20];
               int len;
               while ((len = isr.read(cbuf)) != -1){
                   osw.write(cbuf,0,len);
    
               }
           } catch (IOException e) {
               e.printStackTrace();
           } finally {
               //3.关闭资源
               try {
                   if (isr != null){
                       isr.close();
                   }
               } catch (IOException e) {
                   e.printStackTrace();
               }
               try {
                   if (osw != null){
                       osw.close();
                   }
               } catch (IOException e) {
                   e.printStackTrace();
               }
           }
    }    
  • 相关阅读:
    持续交付11-构建和部署的脚本化
    腾讯云即时通讯IM 公共整合
    腾讯云应用生成 UserSig
    「USACO 2020 US Open Platinum」Exercise
    async要点
    jQuery实现textarea高度根据内容自适应
    背景图片设置透明度而不改变内容
    input type=file实现图片上传,预览以及图片删除
    vant 字体图标不显示问题
    vue项目使用mock.js
  • 原文地址:https://www.cnblogs.com/cainiao-chuanqi/p/11328422.html
Copyright © 2011-2022 走看看