Java IO Overview
来源:互联网 发布:人工智能和制造业 编辑:程序博客网 时间:2024/05/18 01:30
## Java IO Overview
目录
- 目录
- Input and Output - Source and Destination
- Streams
- The InputStream OutputStream Reader and Writer
- Java IO Purposes and Features
- Java IO Class Overview Table
开始分析 JavaIO 的源码!不过要先弄清楚 Java IO 的体系结构。
本文参考这里,给 Java IO 包里各式各样的类做了一个 holy high 的分组。
Input and Output - Source and Destination
时刻谨记,所谓的 Input 和 Output 都是从内存(程序)的角度来说的。
Java 的 IO 包从 源(source) 中读取数据,写入数据到 目的(destination)。最常用的数据 sources 和 destinations 如下:
- 文件 Files
- 管道 Pipes
- 网络连接 Network Connections
- 内存缓存 (例如,数组)
- 标准输入输出 System.in, System.out, System.error
读取和写入数据的流向图如下:
Streams
IO Streams (流) 是 Java IO 中的概念。一个 Stream 可以认为是 数据的流动(可以把数据想象成水,Stream 就是水管)。Stream 可以连接到 源数据 或者是 目标数据。Stream 可以是基于字节的(字节流,读写字节),也可以是基于字符的(字符流,读写字符)。
The InputStream, OutputStream, Reader and Writer
从 source 读取数据的程序需要使用到 InputStream 或者 Reader。往 destination 写入数据的程序需要使用到 OutputStream 或者 Writer。
InputStream / Reader 连接到 源数据。OutputStream / Writer 连接到 目标数据。
Java IO Purposes and Features
Java IO 包含了很多 InputStream, OutputStream, Reader 和 Writer 类的子类。之所以如此,是因为这些类的作用各不相同。现总结一下 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 ReaderInputStreamReader 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 Overview
- Java IO Overview
- Java Overview
- JAVA web service --- overview
- Java Servlet Technology Overview
- Java NIO Overview
- JAVA web service --- overview
- JAVA web service --- overview
- Java NIO(2-Overview)
- Java NIO Overview
- Java Annotation Overview
- Java NIO Overview
- Java I/O Overview
- Java NIO Overview
- Java NIO Overview
- NLP with Java---Overview
- Java NIO Overview
- Java:HttpComponents Overview
- 大型网站性能优化策略
- Matlab问答day13
- 内部类
- Android权限大全(2016年最新)
- .format(x=modname), ExtDeprecationWarning的原因
- Java IO Overview
- java-day01-1 关键字和标识符
- command 2>&1
- 构建互联网高性能WEB系统
- WebView显示网页
- 优先队列模板
- 程序员求职心得
- 第十二章 通过异常处理错误 基本使用
- 数组,指针