java io流系统介绍
来源:互联网 发布:鹰卫浴淘宝 编辑:程序博客网 时间:2024/05/15 04:19
参考:http://blog.csdn.net/jiangwei0910410003/article/details/22376895
java流在处理上分为字节流和字符流。字符流在处理上为2个字节的unicode字符。分别操作字符,字符数组和字符串。
而字节流处理单元为一字节。操作字节和字节数组
java内用unicode编码存储字符,字符流处理类负责将外部其他编码的字符流和java内部的字符流转换。
InputStreamReader和OutputStreamWriter处理字符流和字节流的转换。字符流(一次可以处理一个缓冲区)比字节流(一次一个字节)操作效率高。
一。以字节为导向的Stream:InputStream和OutputStream
为abstract类,对于字节为导向的都扩展这两个类。
ByteArrayInputStream--把内存中的一个缓冲区作为InputStream使用
StringBufferInputStream--把一个String对象作为InputStream
FileInputStream--把一个文件作为InputStream
PipedInputStream--
SequenceInputStream--把多个输入流连续合并起来
ObjectInputStream--用于操作Object的InputStream
FilterInputStream--是一个过滤的InputStream
BufferedInputStream--使用缓冲区的InputStream
DataInputStream--数字格式化的Stream
二。OutputStream:
ByteArrayOutputStream--把信息存入内存中的一个缓冲区
FileOutputStream--向file输出
PipedOutputStream--管道输出流
ObjectOutputStream--输出Object对象的stream
FilterOutputStream--过滤的outputStream
BufferedOutputStream--带有缓冲区的Stream
DataOutputStream--具有格式化的OutputStream
PrintStream--直接输出到控制台中
三。以字符为导向的Stream:reader,writer
一unicode字符为单位
CharArrayReader:字符输入流的字符缓冲区
StringReader:
FileReader:
PipedReader:
InputStreamReader:将InputStream转化成reader
四。CharArrayWriter
StringWriter
FileWriter
PipedWriter:
OutputStreamWriter:
PrintWriter:PrintReader??
五。两种不同导向Stream之间的转换
InputStreamReader和OutputStreamWriter
六。java io使用原则:
按数据来源分类:
按是否格式化输出:PrintStream,PrintWriter
按是否要缓冲分:BufferedInputStream,BufferedOutputStream,BufferedReader,BufferedWriter
按数据格式分:二进制格式
纯文本格式:
按输入输出分:Reader,InputStream、Writer,OutputStream
特殊需要:Stream到Reader
对象输入输出
进程间通信:PipedInputStream
合并输入:sequenceInputStream
更特殊的需要:PushbackInputStream
决定使用哪个类以及他的构造进程一般准则如下:
首先考虑最原始的数据格式是什么
是输入还是输出
是否需要转换流
数据来源是什么
是否要缓冲
是否要格式化输出
- java io流系统介绍
- 【JAVA IO 流介绍】
- java IO流之一 IO流介绍
- java IO流之一 IO流介绍
- java IO流之一 IO流介绍
- java IO操作之IO流介绍
- Java中IO流介绍
- java中io流介绍
- Java IO流的介绍
- Java IO流系统详解
- Java的IO系统简明而经典的介绍
- Java的IO系统简明而经典的介绍
- 详细介绍Java语言中的IO系统(1)
- Java IO (3) 字节流介绍
- Java IO (4) 字符流介绍
- Java中IO流介绍 二
- java IO 流的整体介绍
- java.io中的字符流简单介绍
- Linux 下/init: line 109: can't open /r/dev/console: no such file错误
- leetcode笔记:Trapping Rain Water
- noip2012 同余方程 (扩展欧几里得)
- 【C++知识点】可重载与不可重载的操作符
- 程序自动分析(prog)
- java io流系统介绍
- 关于字符串指针不可修改的问题
- 【C++】c++实现线性表、链表
- [leetcode]Best Time to Buy and Sell Stock III
- HDU3078 Network LCA+RMQ
- [BZOJ2194]快速傅立叶之二
- Android 调用继承application的类
- <最小生成树><lca>Heatwave
- noip2012 借教室 (线段树区间减、区间最小)