java I/O流的部分类和方法的认识
InputStream类:
标志那些从不同数据起源产生输入的类:
字节数组、String对象、文件、通道、其他种类的流组成的序列、其他数据集
OuputStream类:
标志不同数据的输出:
字节数组,String对象,文件,管道,其他种类的流组成的序列,其他数据集
处理字节流
InputStream/OutPutStream 字节流基类
FileInputStream/FileOutputStream 处理文件类型
ByteArrayInputStream/ByteArrayOutputStream 字节数组类型
DataInputStream/DataOutputStream 数据输入流(基本数据类型)
BufferedInputStream/BufferedOutputStream 缓冲流
处理字符流:
Reader/Writer 字符流基类
FileReader/FileWriter 处理文件类型
BufferedReader/BufferedWriter 缓冲流
转换流
InputStreamReader/OutputStreamWriter
字符与字节相互转换
1. 方便处理
2. 解决乱码问题
InputStreamReader从字节流到字符流,根据指定的charset进行解码
OutputStreamWriter字符流到字节流,根据指定的charset进行编码
ByteArrayInputStream
字节数组输入流在内存中创建一个内存缓冲区,从输入流读取的数据保存到该缓冲区
创建字节输入流:
ByteArrayInputStream bArray = new ByteArrayInputStream(byte []a, int off, int len)
FileInputStream
从文件系统中的某个文件中获取输入字节
FileInputStream(File file);
ByteArrayOutputStream
字节输出流在内存中创建一个缓冲区。我们发送给流的所有数据都会保存在这个缓冲区。
下面的构造方法创建一个32字节(默认)的缓冲区。
OutputStream bOut = new ByteArrayOutputStream();
另一个构造方法创建一个大小为n字节的缓冲区。
OutputStream os = new ByteArrayOutputStream(int n)
FileOutputStream
将数据流写入文件
OutputStream os = new FileOutputStream(outputPath);
BufferReader
为指定Reader提供缓冲流,BufferReader分批次从Reader中读取数据存入缓冲区(在内存中,在内存中操作数据的速度远远高于在硬盘中的速度)。
BufferedWriter(Writer out)
Creates a buffered character-output stream that uses a default-sized output buffer.
BufferedWriter(Writer out, int sz)
Creates a new buffered character-output stream that uses an output buffer of the given size
创建一个输出缓冲区,第一个参数指定输出流,第二个参数指定缓冲区大小
BufferWriter
将文本写入字符输出流,缓冲字符,提高操作效率,只有将缓存写满后(或者close())才写入文本。
BufferedReader(Reader in)
Creates a buffering character-input stream that uses a default-sized input buffer.
BufferedReader(Reader in, int sz)
Creates a buffering character-input stream that uses an input buffer of the specified size.
创建缓冲区,第一个参数指定输入流,第二个参数指定缓冲区大小