IO流
|--字节流
|--字节输入流
InputStream ------抽象类
int read():一次读取一个字节
int read(byte[] bys):一次读取一个字节数组
|--FileInputStream ------extends InputStream
|--BufferedInputStream ------extends FilterInputStream------extends InputStream
|--ByteArrayInputStream ------extends InputStream
|--StringBufferInputStream ------extends InputStream
|--字节输出流
OutputStream ------抽象类
void write(int by):一次写一个字节
void write(byte[] bys,int index,int len):一次写一个字节数组的一部分
|--FileOutputStream ------extends OutputStream
|--BufferedOutputStream ------extends FilterOutputStream------extends OutputStream
|--ByteArrayOutputStream ------extends OutputStream
构造方法:
FileInputStream(File file)
FileInputStream(String name)
常用方法:
- A:int read():一次读取一个字节 ,速度慢
- B:int read(byte[] b):一次读取一个字节数组,速度比read()快
// 创建字节输入流对象,读字节速度很慢
FileInputStream fis=new FileInputStream("fos.txt");
int by=0;
while((by=fis.read())!=-1){
System.out.println((char)by);
}
// 释放资源
fis.close();
// 创建字节输入流对象,读字节数组速度比读字节快
FileInputStream fis2 = new FileInputStream("fos.txt");
byte[] bys=new byte[1024];
int len=0;
while((len=fis2.read(bys))!=-1){
System.out.println(new String(bys,0,len));
}
// 释放资源
fis2.close();
输出:
b
b
a
c
c
bbacc