zoukankan      html  css  js  c++  java
  • java io基础学习二

    转换流:

    InputStreamReader:字节到字符的桥梁,解码。

    OutputStreamWriter:字符到字节的桥梁,编码。

    流的操作规律:

    1.明确源和目的(汇)

      源: InputStream Reader 

      目的: OutputStream Writer

    2.明确数据是否是纯文本数据

      源:是-纯文本:Reader 

        否-InputStream

      目的: 是 -纯文本 Writer

          否- OutputStream

    3.明确具体的设备。

      源设备:

          硬盘:File

          键盘:System.in

          内存:数组

          网络:Socket流

      目的设备:

          硬盘:File

          控制台:System.out

          内存:数组

          网络:Socket流

    4.是否需要其他额外功能

      1.是否需要高效(缓冲区):

          是:加入Buffer

      2.转换

        InputStreamReader ir = new InputStreamReader(System.in);

        OutputStreamWriter ow = new OutputStreamReader(System.out):

        --字节流转字符流

        


    OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("gbk.txt") , "GBK");

    FileWriter fw = new FileWriter("gbk.txt");

    这两句代码的功能是等同的。

    FileWriter : 其实就是转换流指定了本机默认码表的体现,而且这个转换流的子类对象,可以方便操作文本文件。

          简单说:操作文件的资字节流 + 本机默认的编码表

    如果操作文本文件需要明确具体的编码,FileWriter就不能使用,必须用转换流。

    同理:

    InputStreamReader isr = new InputStreamReader(new FileInputStream("utf.txt") ,  "utf-8");

    转换流的使用:

    1.源或者目的对应的设备是字节流,但是操作的却是文本数据,可以使用转换作为桥梁。

    2.一旦操作文本涉及到具体的指定编码表时,必须使用转换流。

  • 相关阅读:
    刚学的 activity 之间的两种(带数据)跳转
    SharePreference 把少量数据写到 文件中
    Android 使用资源
    SQLite 初步测试
    android 操作 sd 卡上的文件
    android 操作文件
    002android 布局(layout)
    Activity_liftCycle — 生命周期
    android 创建、删除 文件和文件夹 测试
    android 实现粗糙的文件浏览器
  • 原文地址:https://www.cnblogs.com/wangxh92/p/3740261.html
Copyright © 2011-2022 走看看