一.概述
1 基本概念
I/O就是Input/Output的简写,也就是输入/输出的含义。
I/O流就是指像流水一样源源不断地进行读写的过程。
 

2 基本分类
 
根据读写数据的单元分为:字节流 和 字符流。
其中字节流就是指以字节为单位进行读写的流,可以读写任意文件。
其中字符流就是指以字符为单位进行读写的流,只能读写文本文件。
 
根据读写数据的方向分为:输入流 和 输出流 (程序的角度)
其中输入流就是指从文件读取数据输入到程序中。
其中输出流就是指将程序中的数据输出到文件中,也就是写文件。
 
 

3. 字节流的顶层父类:InputStream类 和 OutputStream类。

3.1 :InputStream类
 
InputStream类的主要实现类:

DataInputStream类(间接子类)、
 
 

 3.2 OutputStream类
 
OutputStream类的主要实现类:
DataOutputStream类(间接子类)、
PrintStream类 (间接子类)
 
 
 
 
 
 

4. 字符流的顶层父类:Reader类 和 Writer类。

 
4.1 Reader类的主要实现类:
BufferedReader类、
InputStreamReader类、
StringReader类。

 
4.2 Writer类的主要实现类:
BufferedWriter类、
OutputStreamWriter类、
StringWriter类。
 

I / O流 类的更多相关文章

  1. C++文件流类与文件流对象

    文件流是以外存文件为输入输出对象的数据流.输出文件流是从内存流向外存文件的数据,输入文件流是从外存文件流向内存的数据.每一个文件流都有一个内存缓冲区与之对应. 请区分文件流与文件的概念,不用误以为文件 ...

  2. Java输入、输入、IO流 类层次关系梳理

    本文主要关注在Java编程中涉及到的IO相关的类库.方法.以及对各个层次(抽线.接口继承)的流之间的关系进行梳理 相关学习资料 http://baike.baidu.com/view/1007958. ...

  3. C++学习47 文件的概念 文件流类与文件流对象 文件的打开与关闭

    迄今为止,我们讨论的输入输出是以系统指定的标准设备(输入设备为键盘,输出设备为显示器)为对象的.在实际应用中,常以磁盘文件作为对象.即从磁盘文件读取数据,将数据输出到磁盘文件.磁盘是计算机的外部存储器 ...

  4. Java IO 技术之基本流类

    流式IO 流(Stream)是字节的源或目的.         两种基本的流是:输入流(Input Stream)和输出流(Output Stream).可从中读出一系列字节的对象称为输入流.而能向其 ...

  5. javaio学习笔记-字符流类(1)

    1.java.io包中的字符流类-BufferedReader和BufferedWriter: BufferedReader:缓存的输入字符流; BufferedWriter:缓存的输出字符流; In ...

  6. javaio学习笔记-字符流类(2)

    1.java.io包中的字符流类-FileReader和FileWriter: BufferedReader:缓存的输入字符流; BufferedWriter:缓存的输出字符流; FileReader ...

  7. java I/O流类概述

    java I/O流类概述

  8. java代码I/O流类

    package com.aini; //流类rr //流操作的步骤: /*1.找到指定File 2.实例化字节流.InputStream/OutputStream/Reader/Writer 3.读/ ...

  9. java IO输入输出流中的各种字节流,字符流类

    字节流字节流主要是操作byte类型数据,也byte数组为准,主要操作类就是·字节输出流:OutputStream·字节输入流:InputStream字符流在程序中一个字符等于2个字节,那么java提供 ...

  10. IO流——File类(文件流类)

    java语言的输入输出操作是借助于输入输出包java.io来实现的,按传输方向分为输入流与输出流,从外设传递到应用程序的流为输入流,将数据从应用程序输入到外设的流为输出流. File类的构造方法: 1 ...

随机推荐

  1. springmvc-@RequestBody无法映射首字母大写的属性

    @RequestBody可以将前台传入的json格式数据自动映射成对象,当如果属性的首字母大写,则会出现不能映射的情况,如: private String ICCID;会出现映射失败的情况 解决办法: ...

  2. Last- Linux必学的60个命令

    1.作用 last命令的作用是显示近期用户或终端的登录情况,它的使用权限是所有用户.通过last命令查看该程序的log,管理员可以获知谁曾经或企图连接系统. 2.格式 1ast[—n][-f file ...

  3. mv- Linux必学的60个命令

    1.作用 mv命令用来为文件或目录改名,或者将文件由一个目录移入另一个目录中,它的使用权限是所有用户.该命令如同DOS命令中的ren和move的组合. 2.格式 mv[options] 源文件或目录 ...

  4. Windows API 第二篇 SHGetSpecialFolderPath

    BOOL SHGetSpecialFolderPath( HWND hwndOwner,                                  LPTSTR lpszPath,       ...

  5. 通过三个DEMO学会SignalR的三种实现方式 转载https://www.cnblogs.com/zuowj/p/5674615.html

    一.理解SignalR ASP .NET SignalR 是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信(即:客户端(Web页面)和服务器端可以互相实时的通知消息 ...

  6. 用js创建标签

    html部分: <div id="div_1"> <table id="tab"></table> </div> ...

  7. csdn vip文章:Unity游戏开发-小游戏-非常简单的游戏-unity-

    原文https://blog.csdn.net/qq_20484877/article/details/81841190 1*创建物体 Create菜单下 3D Object菜单下Cube 1.1设置 ...

  8. 给NetBeans配置javafx环境

    JavaFX开发环境安装配置,这里给大家介绍一个非常有用的步骤 从Java8开始,JDK(Java开发工具包)包括了JavaFX库. 因此,要运行JavaFX应用程序,您只需要在系统中安装Java8或 ...

  9. SSM10-Redis持久化和集群的搭建

    1.1. Redis集群的搭建 Redis集群中至少应该有三个节点.要保证集群的高可用,需要每个节点有一个备份机. Redis集群至少需要6台服务器. 搭建伪分布式.可以使用一台虚拟机运行6个redi ...

  10. 树形结构的数据渲染(element-ui&VUE)

    在最开始学习的时候,渲染树形数据没有好好理解. 在实际的运用开发中,彻底的走了一遍树形数据,渲染角色权限的业务逻辑. 首先先发送请求获取全部权限树形结构, 其次发送请求获取当前用户的权限, 最后,通过 ...