流分为字节流、字符流、对象流。
在java.io包中定义了一些流类,基本的字节流类有:
1.FileInputStream和FileOutputStream
2.BufferInputStream和BufferOutputStream
3.DataInputStream和DataOutputStream
4.PipedInputStream和PipedOutputStream
BufferInputStream和BufferOutputStream、DataInputStream和DataOutputStream都是过滤器流,FileInputStream和FileOutputStream使用磁盘文件。
管道流用来在线程间进行通信。一个线程的PipedInputStream对象从另一个线程的PipedOutputStream对象读取输入。要使管道流有用,必须有一个输入方和一个输出方。必须按顺序收发数据,先发出来的数据,接收方也先收到。
InputStreamReader和OutputStreamWriter、BufferedReader和BufferedWriter是字符流。
ObjectInputSteam和ObjectOutputStream是用来读写对象的。
BufferInputStream和BufferOutputStream、BufferedReader和BufferedWriter是先将数据写入缓存。