zoukankan      html  css  js  c++  java
  • IO流之转换流

    1.转换流的意义

    由于某些电脑的系统默认编码与文本文档或有需求时的编码不同时,这是就要用到转换流来进行编码集的转换。

    2.OutputStreamWriter类

    首先我们看到Writer结尾,那肯定是字符类的,我们再看构造方法,他还是不能自己确定目的地。

    实际操作

     1 public class demo01 {
     2     public static void main(String[] args) throws IOException {
     3         //明确目的地
     4         FileOutputStream fos = 
     5                 new FileOutputStream("D:\io0429\utf8.txt");
     6         //添加转换流
     7         OutputStreamWriter osw = new OutputStreamWriter(fos,"utf-8");
     8         //写入字符
     9         osw.write("你好");
    10         //释放资源
    11         osw.close();
    12     }
    13 }

    3.InputStreamReader

    构造方法相同

    注意:在读取指定的编码的文件时,一定要指定编码格式,否则就会发生解码错误,而发生乱码现象。

    实际操作

     1 public class demo02 {
     2     public static void main(String[] args) throws IOException {
     3         //明确数据源
     4         FileInputStream fis = new FileInputStream("D:\io0429\utf8.txt");
     5         //添加转换流
     6         InputStreamReader isr = new InputStreamReader(fis,"utf-8");
     7         int len = 0;
     8         while((len = isr.read()) != -1){
     9             System.out.println((char)len);
    10         }
    11         //释放资源
    12         isr.close();
    13     }
    14 }

    4.流的操作规律

    第一点:要操作的是数据源还是目的地

    源:InputStream Reader; 目的地: OutputStream Writer;

    第二点:要操作的数据是字节还是文本

    字节:InputStream OutPutStream; 文本:Writer Reader;

    第三点:明确数据所在的具体位置

    源设备:

               硬盘:文件  File开头。

               内存:数组,字符串。

               键盘:System.in;

               网络:Socket

    目的设备:

               硬盘:文件  File开头。

               内存:数组,字符串。

               屏幕:System.out

               网络:Socket

    第四点:是否需要额外功能

    转换流。InputStreamReader OutputStreamWriter

    缓冲区对象。BufferedOutputStream BufferedInputStream BufferedWriter BufferedReader

  • 相关阅读:
    php method_exists( $object , string $method_name )
    php伪类型 (mixed)
    6.6-2-数组与数据结构(用数组及其函数实现堆栈等数据结构)
    6.6-1-php数组相关(2)
    2017.6.5-2-php数组相关(1)
    2017.6.5-1-php函数应用及流程控制
    CodePage
    bat批处理教程
    pip安装及源
    CentOS安装Python3
  • 原文地址:https://www.cnblogs.com/shenhx666/p/15062200.html
Copyright © 2011-2022 走看看