1、字节流和字符流
java.io包提供了大量的流类,Java把InputStream抽象类的子类创建的流对象称作字节输入流、OutputStream抽象类的子类创建的流对象称作字节输出流,Java把Reader抽象类的子类创建的流对象称作字符输入流、Writer抽象类的子类创建的流对象称作字符输出流。
针对不同的源或目的地,java.io包为程序提供了相应的输入流或输出流,这些输入、输出流绝大部分都是InputStream、OutputStream、Reader或Writer的子类。
2、InputStream类与OutputStream类
InputStream类提供的read方法以字节为单位顺序地读取源中的数据,只要不关闭流,每次调用read方法就顺序地读取源中的其余内容,直到源的末尾或输入流被关闭。
InputStream类有如下常用的方法。
int read()
int read(byte b[ ])
int read(byte b[ ], int off, int len)
void close()
long skip(long numBytes)
OutputStream流以字节为单位顺序地写文件,只要不关闭流,每次调用write方法就顺序地向目的地写入内容,直到流被关闭。
OutputStream类有如下的常用的方法。
void write(int n)
void write(byte b[ ])
void write(byte b[ ], int off, int len)
void close()
3、Reader类与Writer类
1).Reader类提供的read方法以字符为单位顺序地读取源中的数据。
int read():
int read(char b[]):
int read(char b[], int off, int len):
void close():
long skip(long numBytes):
2). Writer流以字符为单位顺序地写文件,每次调用write方法就顺序地向目的地写入内容。 Writer类有如下常用的方法。
void write(int n): 向输出流写入一个字符。
void write(char b[]): 向输出流写入一个字符数组。
void write(char b[],int off,int length): 从给定字符数组中起始于偏移量off处取len个字符写到输出流。
void close(): 关闭输出流。
4、关闭流
流都提供了关闭方法close(),尽管程序结束时会自动关闭所有打开的流,但是当程序使用完流后,显式地关闭任何打开的流仍是一个良好的习惯。
通过调用close()方法,可以保证操作系统把流缓冲区的内容写到它的目的地,即关闭输出流可以把该流所用的缓冲区的内容冲洗掉。