一、数据流的基本概念
流一般分为输入流(Input Stream)和输出流(Output Stream)两类,但这种划分并不是绝
对的。比如一个文件,当向其中写数据时,它就是一个输出流;当从其中读取数据时,它就是一个
输入流。当然,键盘只是一个数人流,而屏幕则只是一个输出流。
java 的标准数据流:标准输入输出指在字符方式下(如 DOS),程序与系统进行交互的方式,
分为三种:
标准输入 studin,对象是键盘。
标准输出 stdout,对象是屏幕。
标准错误输出 stderr,对象也是屏幕。
二、java.io 包中的数据流和文件类
字节流:从 InputStream 和 OutputStream 派生出来的一系列类。这类流以字节(byte)为基本处
理单位。
InputStream、OutputStream
FileInputStream、FileOutputStream
PipedInputStream、PipedOutputStream
ByteArrayInputStream、ByteArrayOutputStream
FilterInputStream、FilterOutputStream
DataInputStream、DataOutputStream
BufferedInputStream、BufferedOutputStream
字符流:从 Reader 和 Writer 派生出的一系列类,这类流以 16 位的 Unicode 码表示的字符为
基本处理单位。
Reader、Writer
InputStreamReader、OutputStreamWriter
FileReader、FileWriter
CharArrayReader、CharArrayWriter
PipedReader、PipedWriter
FilterReader、FilterWriter
BufferedReader、BufferedWriter
StringReader、StringWriter
三、字节流方法
InputStream 和 OutputStream
read():从流中读入数据
skip():跳过流中若干字节数
available():返回流中可用字节数
mark():在流中标记一个位置
reset():返回标记过得位置
markSupport():是否支持标记和复位操作
close():关闭流
int read() :从输入流中读一个字节,形成一个 0~255 之间的整数返回(是一个抽象方法)。
int read(byte b[]) :读多个字节到数组中。
int read(byte b[], int off, int len):从输入流中读取长度为 len 的数据,写入数组 b 中从索引 of
f 开始的位置,并返回读取得字节数。
write(int b) :将一个整数输出到流中(只输出低位字节,抽象)
write(byte b[]) :将字节数组中的数据输出到流中
write(byte b[], int off, int len) :将数组 b 中从 off 指定的位置开始,长度为 len 的数据输出到流