• 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();
               }
           }
    }    
  • 相关阅读:
    在服务器上搭建java环境
    往Android studio中导入类库文件
    Android异步任务AsyncTask
    搭建java环境
    使用安卓实现一个二维码扫描功能(基于Android Studio)
    Android中的runOnUiThread
    网络基础
    Android使用URL访问网络资源
    21天学通VC++
    cometd(转)
  • 原文地址:https://www.cnblogs.com/cainiao-chuanqi/p/11328422.html
Copyright © 2020-2023  润新知