java io读书笔记(2)什么是stream
2013-07-04 20:19 很大很老实 阅读(339) 评论(0) 编辑 收藏 举报什么是stream?stream就是一个长度不确定的有序字节序列。
Input streams move bytes of data into a Java program from some generally external source. Output streams move bytes of data from Java to some generally external target
1)streams来自哪里?
我们最先接触到的input stream,就是system.in,这个类似于c语言中的stdin。如果input stream重定向,则system.in也是重定向,比如:
java MessageServer < data.txt
这里的system.in最初只是指console,只是被重定向了。当然,console也可以用作output stream。比如,system.err.
try { //... do something that might throw an exception } catch (Exception ex) { System.err.println(ex); }
这里,无论是System.in还是System.err,都是来自于java.io.PrintStream。
Files是另一种常见的input或者output stream。
而网络连接,也是以stream的方式进行。
2)相关的java类
这些类基本都在java.io包里,主要的类有:java.io.InputStream and java.io.OutputStream这两个类。
其子类包括:
- BufferedInputStream
- BufferedOutputStream
- ByteArrayInputStream
- ByteArrayOutputStream
- DataInputStream
- DataOutputStream
- FileInputStream
- FileOutputStream
- FilterInputStream
- FilterOutputStream
- ObjectInputStream
- ObjectOutputStream
- PipedInputStream
- PipedOutputStream
- PrintStream
- PushbackInputStream
- SequenceInputStream
- java.util.zip包也包含了一些类:
- CheckedOutputStream
- DeflaterOutputStream
- GZIPInputStream
- GZIPOutputStream
- InflaterInputStream
- ZipInputStream
- ZipOutputStream
- java.util.jar包包括2个主要的类:
- JarInputStream
- JarOutputStream
- java.security包包括:
- DigestInputStream
- DigestOutputStream