一:按流分:
1.输入流InputStream 2.输出流OutputStream
二:按操作对象分:
1.字节流 2.字符流
1.字节流
1)InputStream 字节输入流
a:FileInputStream 普通字节输入流
读取数据:
int read();一次读一个字节
int read(byte[]bytes);一次读取一个字节数组
b:BufferedInputStream 字节输入流缓冲区(高效字节输入流)
读取数据:
int read();一次读取一个字节
int read(byte[]bytes);一次读取一个字节数组
2)OutputStream字节输出流
c:FileOutputStream 普通字节输出流
写数据:
write(int by);一次写一个字节
write(byte []bytes);一次写一个字节数组
write(byte []bytes,int offset,int length)一次写一个字节数组的指定部分
d:BufferedOutputStream 字节输出流缓冲区(高效字节输出流)
写数据
write(int by);一次写一个字节
write(byte []bytes);一次写一个字节数组
write(byte []bytes,int offset,int length)一次写一个字节数组的指定部分
2.字符流
1)Reader 字符输入流
a:FileReader 字符输入流(继承自Reader)
读取数据:
int read();一次读取一个字符
int read(char[]ch);一次读取一个字符数组
b:BufferedReader 字符输入流缓冲区(高效字符输入流)(继承自Reader)
读取数据:
特殊的方法(常用):
readLine();一次读取一行
2)Writer 字符输出流
c:FileWriter 字符输出流(继承自Writer)
写数据:
write(int c);一次写一个字符
write(char[]ch);一次写一个字符数组
write(char[]ch,int offset,int length);一次写一个字符数组的指定部分
write(String line);一次写一个字符串
write(String line,int offset,int length)一次写一个字符串的指定部分
d:BufferedWriter 字符输出流缓冲区(高效字符输出流)(继承自Writer)
写数据:
特殊的方法:
newLine();写一个换行符
转换流
1.InputStreamReader
InputStreamReader是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。
它使用的字符集可以由名称指定或显式给定,否则可以接受平台默认的字符集。
2.OutputStreamWriter
OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的 charset 将要写入流中的字符编码成字节。
它使用的字符集可以由名称指定或显式给定,否则将接受平台默认的字符集。 |
|