• 想要知道开发时,使用哪个流对象, 只要通过四个明确即可.
  1. 明确源和目的(数据汇)

    • 源: InputStream 或 Reader
    • 目的: OutPutStream 或 Writer
  2. 明确数据是否是纯文本数据
    • 源:

      • 是纯文本: Reader
      • 不是纯文本: InputStream
    • 目的:
      • 是纯文本: Writer
      • 不是纯文本: OutputStream
    • 到这里, 就可以明确需求中具体要使用哪个体系.
  3. 明确具体的设备, 即要明确使用哪一个对象
    • 源设备:

      • 硬盘: File
      • 键盘: System.in
      • 内存: 数组
      • 网络: Socket 流
    • 目的设备:
      • 硬盘: File
      • 键盘: System.out
      • 内存: 数组
      • 网络: Socket 流
  4. 是否需要额外的功能
    • 需要高效(缓冲区), 就加上 buffer
    • 需要转换, 就将字节流转换为字符流
// 示例: 将一个中文字符串数据按照指定的编码表写入到一个文本文件中./* * 思路:*    1. 目的: OutputStream, Writer*    2. 是纯文本数据: Writer*    3. 设备: 硬盘, File*        FileWriter fw = new FileWriter("a.txt");*        fw.write("你好");*        fw.close();* 注意:*     既然需求中已经明确了指定编码表的动作, 那就不可以使用 FileWriter, 因为 FileWriter 内部*     使用的是默认的本地编码表.*     因此,只能使用其父类, OutputStreamWriter, 转换流*     OutputStreamWriter 的构造方法中必须带有一个字节输出流对象, 既然是操作文件,*     那么该对象应该是 FileOutputStream.*     *  OutputStreamWriter osw = *         new OutputStreamWriter(new FileOutputStream("a.txt"), charsetName(编码表));*     osw.write("你好");*     osw.close();*/
  • 什么时候使用转换流呢?

    1. 源或者目的对应的设备是字节流, 但是操作的却是文本数据, 可以使用转换流作为桥梁
      提高对文本操作的便捷
    2. 一旦操作文本涉及到具体指定的编码表时, 必须使用转换流.

参考资料

  • JavaSE 基础视频(毕向东)
  • JDK 1.6 中文文档

转载于:https://www.cnblogs.com/linkworld/p/7514008.html

IO 流的操作基本规律相关推荐

  1. Java 关于文件的复制io流的操作

    关于文件备份的三种方式解答 需要的jar包 jcifs jcifs 1.3.17 commons-net commons-net 3.3 commons-io commons-io 2.5 引入jar ...

  2. Java io流的使用操作

    了解io流 什么是io流 io流即输入输出流 通过对象向我的文件里放入取出 创建文件对象 放入绝对路径C:\a.txt 创建时需要购入后缀如txt ppt avi 对象名.delete()删除文件 对 ...

  3. Java基础之IO流(二)

    IO流(二) 标准输入输出流 System类中的字段:in out,它们代表了系统标准的输入和输出设备 System.in标准输入流,默认设备,键盘 System.out标准输出流,默认设备,屏幕 获 ...

  4. java中io流实现哪个接口_第55节:Java当中的IO流-时间api(下)-上

    标题图 Java当中的IO流(下)-上日期和时间日期类:java.util.Date 系统时间:long time = System.currentTimeMillis();public class  ...

  5. java高级之Io流

    1.1,什么是io流? 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作 ...

  6. Java当中的IO流-时间api(下)-上

    Java当中的IO流(下)-上 日期和时间 日期类:java.util.Date 系统时间: long time = System.currentTimeMillis(); public class ...

  7. IO流 输入流、输出流、字节流、字符流、转换流、及Properties类

    IO流 1.IO概述 生活中,你肯定经历过这样的场景.当你编辑一个文本文件,忘记了ctrl+s ,可能文件就白编了.当你电脑上插入一个U盘,可以把一个视频,拷贝到你的电脑硬盘里.那么数据都是在哪些设备 ...

  8. Java实现图书借阅管理系统(IO流存储数据,附源码)

    目录 前言 一.项目概述 1.项目功能结构图 2.项目功能说明 3.项目其他说明 二.开发过程中需要注意的问题 1.开发顺序及思路 2.IO流读写 3.数据共享 4.业务逻辑问题 三.源码链接 前言 ...

  9. 一篇文章了解 Java IO 流

    一:IO 流的概述 1. 什么是 IO 流? 存储和读取数据的解决方法 I:input O:output 流:像水流一样传输数据 2. IO 流的作用? 用于读写数据(本地文件,网络) 3. IO 流 ...

最新文章

  1. unity3d与eclipse协同工作环境
  2. 超简单的Oracle 数据库安装教程
  3. sklearn自学指南(part45)--新颖性和离群值检测概述
  4. java程序表头出不来_JAVA SWING 表头不显示问题
  5. 认识死锁之生产者与消费者
  6. 修改了xml要不要重新起服务器,关于设置:Eclipse每次运行项目时都会修改server.xml(运行-在服务器上运行)...
  7. virtual box
  8. python中二维数组如何查找_【剑指offer】---二维数组中的查找(Python)
  9. 使用网络调试助手 MQTT接入阿里云物联网平台,逐字节讲解,适用单片机/ESP8266接入阿里云
  10. 安装zabbix4.0
  11. McBSP初始化以及和EDMA的结合使用(C64X DSP)
  12. 12306火车票查询--python
  13. [WebGL入门]二十一,从平行光源发出的光
  14. android开发屏幕投射到电视6,用电视吃鸡!将手机上的内容投射到电视机的屏幕上!...
  15. 【题解】P3387 【模板】缩点
  16. arduino 步进电机驱动库_Arduino驱动 步进电机
  17. 代码角度理解SGX的认证机制(一):本地认证
  18. samba 服务器的配置基础
  19. java中的<<符号是什么意思
  20. 【小知识】java中的this.name=name是什么意思啊??this 有什么用啊,再哪出现?

热门文章

  1. 【C语言】不能使用 while(fgetc(fp)!=EOF)进行文件复制
  2. 清华图书馆机器人小图_机器人“小图”带你逛“国家图书馆110周年公共数字文化展”...
  3. docker 管理工具_详解Docker可视化管理工具shipyard--部署教程及功能展示
  4. mysql 锁定表_MySQL表锁定
  5. 输出流_关于输出字符流你真的懂了吗?
  6. go post请求的响应数据渲染到html模板_干货你需要了解的六种渲染模式
  7. Java Web学习笔记08:分页技术
  8. 【BZOJ1568】【Tyvj3490】Blue Mary开公司 李超线段树
  9. 【BZOJ2588】Count on a tree,主席树维护链+ST表求LCA
  10. 湖北工程学院计算机宿舍,湖北工程学院宿舍条件,宿舍环境图片(10篇)