Java IO Overview

原创 2016年08月30日 19:54:37

## 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
     
版权声明:本文为博主原创文章,未经博主允许不得转载。

java io tutorial overview

  • 2013年01月06日 03:07
  • 59KB
  • 下载

Java NIO(2-Overview)

Java NIO consist of the following core components: ChannelsBuffersSelectors Java NIO has more ...

[Java文档翻译] Collections Framework Overview 集合框架概览 (中英文对照)

原在线文档地址:http://docs.oracle.com/javase/7/docs/technotes/guides/collections/overview.html 翻译时间:2015021...

Java NIO Overview

Java NIO consist of the following core components: ChannelsBuffersSelectors Java NIO has more cl...

java-jni-02-Design-Overview

Design OverviewChapter 2This chapter focuses on major design issues in the JNI. Most design issues...

Java NIO Tutorial 2- Java NIO Overview

Java NIO Overview Java NIO consist of the following core components: ChannelsBuffersSelectors Ja...

【JAVA】【NIO】2、Java NIO Overview

Java NIO主要有以下核心组件构成: 通道 缓存 选择器 Java NIO其实有比上面更多的类和组件,但是在我看来,Channel,Buffer,Selector是核心的API。其它组件,像管道...

Java Networking Overview

  • 2009年02月20日 10:11
  • 31KB
  • 下载

Java-overview.pdf

  • 2008年06月09日 18:48
  • 99KB
  • 下载

Java IO流学习总结

Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据...
  • FYGu18
  • FYGu18
  • 2017年12月04日 00:00
  • 306
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java IO Overview
举报原因:
原因补充:

(最多只允许输入30个字)