zoukankan      html  css  js  c++  java
  • Java—IO流

    一、IO流的操作规律

    IO流进行了规律的总结(四个明确):

    • 明确一:要操作的数据是数据源还是数据目的。

      源:InputStream Reader

      目的:OutputStream Writer

      先根据需求明确要读,还是要写。
    • 明确二:要操作的数据是字节还是文本呢?

      源:

       字节:InputStream

       文本:Reader

      目的:

       字节:OutputStream

       文本:Writer

      已经明确到了具体的体系上。
    • 明确三:明确数据所在的具体设备。

      源设备:

       硬盘:文件 File开头。

       内存:数组,字符串。

       键盘:System.in;

       网络:Socket

      目的设备:

       硬盘:文件 File开头。

       内存:数组,字符串。

       屏幕:System.out

       网络:Socket

      完全可以明确具体要使用哪个流对象。
    • 明确四:是否需要额外功能呢?

      额外功能:

       转换吗?转换流。InputStreamReader OutputStreamWriter

       高效吗?缓冲区对象。BufferedXXX

    二、IO流中的类

    字节输入流 InputStream

     |- FileInputStream 操作文件的字节输入流

     |- BufferedInputStream 高效的字节输入流

    字节输出流 OuputStream

     |- FileOutputStream 操作文件的字节输出流

     |- BufferedOuputStream 高效的字节输出流

    字符输出流 Writer

     |- OutputStreamWriter 输出操作的转换流(把字节流封装成字符流)

      |- FileWriter 操作文件的字符输出流

     |- BufferedWriter 高效的字符输出流

    字符输出流 Reader

     |- InputStreamReader 输入操作的转换流(把字节流封装成字符流)

      |-FileReader 操作文件的字符输入流

     |- BufferedReader 高效的字符输入流

    读数据方法:

     read() 一次读一个字节或字符的方法

     read(byte[] char[]) 一次读一个数组数据的方法

     readLine() 一次读一行字符串的方法(BufferedReader类特有方法)

     readObject() 从流中读取对象(ObjectInputStream特有方法)

    写数据方法:

     write(int) 一次写一个字节或字符到文件中

     write(byte[] char[]) 一次写一个数组数据到文件中

     write(String) 一次写一个字符串内容到文件中

     writeObject(Object ) 写对象到流中(ObjectOutputStream类特有方法)

     newLine() 写一个换行符号(BufferedWriter类特有方法)

    向文件中写入数据的过程

     1.创建输出流对象

     2.写数据到文件

     3.关闭输出流

    从文件中读数据的过程

     1.创建输入流对象

     2.从文件中读数据

     3.关闭输入流

    文件复制的过程

     1.创建输入流(数据源)

     2.创建输出流(目的地)

     3.从输入流中读数据

     4.通过输出流,把数据写入目的地

     5.关闭流

  • 相关阅读:
    vue脚手架引入MD5加密函数
    mysql 使用 MD5函数 校验账号密码
    iview引用自定义的图标
    vue 生命周期钩子
    mysql: show processlist 详解
    vue脚手架中动态引用图片的办法
    jsp 获取后端配置文件.properties的某个配置内容
    mybatis update 返回值
    python_判断缩写
    python_深拷贝与浅拷贝
  • 原文地址:https://www.cnblogs.com/nadou/p/13974098.html
Copyright © 2011-2022 走看看