io的类有好多个,总结一下,给他们列出来,下一行缩进为子类:

File  文件或目录类

InputStream  字节输入流

  FileInputStream   用于读取文件的原始字节流,变成字节输入流

  ByteArrayInputStream  用于读取Byte[]类型的二进制文件的原始字节流,变成字节输入流。将内存中的Byte数组适配为一个InputStream。

  ObjectInputStream  将任意类型的对象转变成InputStream

  SequenceInputStream  将2个或者多个InputStream 对象转变为一个InputStream.

  PipedInputStream  读取从对应PipedOutputStream写入的数据。在流中实现了管道的概念。

  FilterInputStream:  过滤输入流,包含其他一些输入流,它将这些流用作其基本数据源,它可以直接传输数据或提供一些额外的功能

    BufferedInputStream  把流转化为缓冲字节输入流

    DataInputStream  一般和DataOutputStream配对使用,完成基本数据类型的读写。

    PushbakInputStream  可以在读取最后一个byte 后将其放回到缓存中。

  

OutputStream  字节输出流

  FileOutputStream   把文件转化为字节输出流的形式,用于将信息写入文件

  ByteArrayOutputStream  在内存中创建一个buffer(缓冲区)。所有写入此流中的数据都被放入到此buffer中

  ObjectOutputStream  将 Java 对象的基本数据类型和图形写入 OutputStream,可以使用 ObjectInputStream 读取(重构)对象

  PipedOutputStream  任何写入此对象的信息都被放入对应PipedInputStream 对象的缓存中,从而完成线程的通信,实现了“管道”的概念。

  FilterOutputStream:  过滤输出流,它们将已存在的输出流作为其基本数据接收器,但可能直接传输数据或提供一些额外的功能。

    BufferedOutputStream   实现缓冲的输出流

    DataOutputStream  通常和DataInputStream配合使用,使用它可以写入基本数据类型

    PrintStream  产生具有格式的输出信息。使OutputStream能够方便地打印各种数据值表示形式

Reader  字符输入流  下面的类等同于上边的InputStream的类,把其中的字节替换成字符,其余一样
  BufferedReader  用于读取文件的原始字节流,变成字符输入流

  ByteArrayReader

  StringReader

  PipedReader

  InputStreamReader

    FileReader

  FilterReader

    PushbakReader

Writer  字符输出流  下面的类等同于上边的OutputStream的类,把其中的字节替换成字符,其余一样

  BufferedWriter

  PrinterWriter

  StringWriter

  CharArrayWriter

  PipedWriter

  FilterWriter

  OutputStreamWriter

    FileWriter

java IO 学习(一)的更多相关文章

  1. Java IO学习笔记:概念与原理

    Java IO学习笔记:概念与原理   一.概念   Java中对文件的操作是以流的方式进行的.流是Java内存中的一组有序数据序列.Java将数据从源(文件.内存.键盘.网络)读入到内存 中,形成了 ...

  2. Java IO学习笔记总结

    Java IO学习笔记总结 前言 前面的八篇文章详细的讲述了Java IO的操作方法,文章列表如下 基本的文件操作 字符流和字节流的操作 InputStreamReader和OutputStreamW ...

  3. Java IO学习笔记三

    Java IO学习笔记三 在整个IO包中,实际上就是分为字节流和字符流,但是除了这两个流之外,还存在了一组字节流-字符流的转换类. OutputStreamWriter:是Writer的子类,将输出的 ...

  4. Java IO学习笔记二

    Java IO学习笔记二 流的概念 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成. 程序中的输入输 ...

  5. Java IO学习笔记一

    Java IO学习笔记一 File File是文件和目录路径名的抽象表示形式,总的来说就是java创建删除文件目录的一个类库,但是作用不仅仅于此,详细见官方文档 构造函数 File(File pare ...

  6. java IO 学习(三)

    java IO 学习(一)给了java io 进行分类,这一章学习这些类的常用方法 一.File 1.创建一个新的File的实例: /** * 创建一个新的File实例 */ File f = new ...

  7. Java IO学习笔记一:为什么带Buffer的比不带Buffer的快

    作者:Grey 原文地址:Java IO学习笔记一:为什么带Buffer的比不带Buffer的快 Java中为什么BufferedReader,BufferedWriter要比FileReader 和 ...

  8. Java IO学习笔记二:DirectByteBuffer与HeapByteBuffer

    作者:Grey 原文地址:Java IO学习笔记二:DirectByteBuffer与HeapByteBuffer ByteBuffer.allocate()与ByteBuffer.allocateD ...

  9. Java IO学习笔记三:MMAP与RandomAccessFile

    作者:Grey 原文地址:Java IO学习笔记三:MMAP与RandomAccessFile 关于RandomAccessFile 相较于前面提到的BufferedReader/Writer和Fil ...

  10. Java IO学习笔记四:Socket基础

    作者:Grey 原文地址:Java IO学习笔记四:Socket基础 准备两个Linux实例(安装好jdk1.8),我准备的两个实例的ip地址分别为: io1实例:192.168.205.138 io ...

随机推荐

  1. Python高阶函数(Map、Reduce、Filter)和lambda函数一起使用 ,三剑客

    Map函数 map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回. 举例说明 比如我们有一个函数f(x)=x2,要把这个函数作用 ...

  2. ArchLinux基本系统到XFCE4桌面搭建

      Keep It Simple, Stupid 这是ArchLinux的哲学,更是一种人生哲学 好久没用linux了,这段时间因为一点点"破坏性"需求重新拾起linux用了一把 ...

  3. Maven取消编译自动测试

    Maven取消编译自动测试 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins&l ...

  4. windows,交换机syslog收集

    window2008 使用了 windows evtsys_x64   https://download.csdn.net/download/chen_yi_ping/10046676 配置 http ...

  5. 【cs231n】最优化笔记

    ): W = np.random.randn(10, 3073) * 0.0001 # generate random parameters loss = L(X_train, Y_train, W) ...

  6. c++之单例模式

    1 本篇主要讨论下多线程下的单例模式实现: 首先是 double check 实现方式: 这种模式可以满足多线程环境下,只产生一个实例. template<typename T> clas ...

  7. Spring cloud + boot 问题记录

    1 配置中心更新值的时候,要在有需要更新的属性 类上 加入  @RefreshScope 注解 2 关于Spring Cloud 调用服务     服务名称的问题 spring: applicatio ...

  8. python print和strip

    在使用这两个模块时犯过错误,总结如下: 1.print print在打印时会自动加上换行,例如: >>> for i in xrange(1,5): ... print i ... ...

  9. Android开发-网络通信1

    使用 org.apache.http.client.HttpClient; 一开始从官网下载HttpClient 4.5:http://hc.apache.org/downloads.cgi ,解压之 ...

  10. SVN 与Eclipse 关联 || 安装beyond 插件

    1.让本地svn代码与库建立联系   右击项目名称,Team -  share project 2.本地svn版本一般与Eaclipse svn插件 版本一致!http://subclipse.tig ...