关闭

Java IO Overview

标签: IOverviewJava源码学习
65人阅读 评论(0) 收藏 举报
分类:

## Java IO Overview

目录


开始分析 JavaIO 的源码!不过要先弄清楚 Java IO 的体系结构。

本文参考这里,给 Java IO 包里各式各样的类做了一个 holy high 的分组。


Input and Output - Source and Destination

时刻谨记,所谓的 InputOutput 都是从内存(程序)的角度来说的。

Java 的 IO 包从 源(source) 中读取数据,写入数据到 目的(destination)。最常用的数据 sources 和 destinations 如下:

  • 文件 Files
  • 管道 Pipes
  • 网络连接 Network Connections
  • 内存缓存 (例如,数组)
  • 标准输入输出 System.in, System.out, System.error

读取和写入数据的流向图如下:

Input and Output - Source and Destination

Streams

IO Streams (流) 是 Java IO 中的概念。一个 Stream 可以认为是 数据的流动(可以把数据想象成,Stream 就是水管)。Stream 可以连接到 源数据 或者是 目标数据。Stream 可以是基于字节的(字节流,读写字节),也可以是基于字符的(字符流,读写字符)。

The InputStream, OutputStream, Reader and Writer

从 source 读取数据的程序需要使用到 InputStream 或者 Reader。往 destination 写入数据的程序需要使用到 OutputStream 或者 Writer

The InputStream, OutputStream, Reader and Writer

InputStream / Reader 连接到 源数据。OutputStream / Writer 连接到 目标数据。


Java IO Purposes and Features

Java IO 包含了很多 InputStream, OutputStream, ReaderWriter 类的子类。之所以如此,是因为这些类的作用各不相同。现总结一下 IO 类的不同作用:

  • 文件访问 File Access
  • 网络访问 Network Access
  • 内存访问 Internal Memory Buffer Access
  • 线程间通信 Inter-Thread Communication (Pipes)
  • 缓存 Buffering
  • 过滤器 Filtering
  • 解析器 Parsing
  • 读写文本 Reading and Writing Text (Readers / Writers)
  • 读写基本数据类型 Reading and Writing Primitive Data (long, int etc.)
  • 读写对象 Reading and Writing Objects

当阅读 Java IO 源码的时候,很容易就知道了这些作用,这样在实际运用的时候,针对不同的目的,就能使用不同的类了。


Java IO Class Overview Table

下表列出了 Java IO 中大部分的类,按 Input 和 Output, 字节流和字符流分组,同时也标出了这些类可能的作用。

  Byte Based Character Based
Input Output Input Output
Basic InputStream OutputStream Reader
InputStreamReader
Writer
OutputStreamWriter
Arrays ByteArrayInputStream ByteArrayOutputStream CharArrayReader CharArrayWriter
Files FileInputStream
RandomAccessFile
FileOutputStream
RandomAccessFile
FileReader FileWriter
Pipes PipedInputStream PipedOutputStream PipedReader PipedWriter
Buffering BufferedInputStream BufferedOutputStream BufferedReader BufferedWriter
Filtering FilterInputStream FilterOutputStream FilterReader FilterWriter
Parsing PushbackInputStream
StreamTokenizer
  PushbackReader
LineNumberReader
 
Strings     StringReader StringWriter
Data DataInputStream DataOutputStream  
Data - Formatted   PrintStream   PrintWriter
Objects ObjectInputStream ObjectOutputStream    
Utilities SequenceInputStream
     
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:17121次
    • 积分:924
    • 等级:
    • 排名:千里之外
    • 原创:79篇
    • 转载:0篇
    • 译文:1篇
    • 评论:0条