字节流:
主要有InputStream和OutputStream作为基类
字符流:
主要有Reader和Writer作为基类
字节流跟字符流的用法几乎一样,区别在两者操作数据单元不同,字节流操作数据单元是8位的字节,字符流操作16位的字符。
Java的IO流设计40多类,基本都是从以上4个抽象基类派生的。
开发步骤:
1创建字节文件输入流对象
2读数据
3释放资源
文件的字节输入流(InputStream)public FileInputStream(String name)
方法:
1public int read():从输入流中读取一个字节
2public int read(byte[] b):一次读取一个字节数组,最多读取b.length个字节的数据并存储在字节数组b中
3public int read(byte[] b, int off, int len):从输入流中最多读取len个字节的数据,并存储在数组b中。每次的存储都是从off位置开始的,返回实际读取的字节长度
文件的字节输出流(OutputStream)public FileOutputStream(String name)
方法:
1public void write():写入一个字节到输出流中
2public void write(byte[] b/char[] buf):一次写入一个字节数组,最多写入b.length个字节的数据输出到输出流中
3)public void write(byte[] b/char[] buf, int off, int len):从off位置开始的,实际读取的字节长度的字节数组或者字符数组,最多输出len个字节的数据到输出流中。
字符输入流(Reader)
方法:
1public int read():从输入流中读取一个字节
2public int read(char[] cbuf):一次读取一个字节数组,最多读取b.length个字节的数据并存储在字符数组cbuf中
3public int read(char[] cbuf, int off, int len):从输入流中最多读取len个字节的数据,并存储在字符数组cbuf中。每次的存储都是从off位置开始的,返回实际读取的字节长度
字符输出流(write)
方法:
1public void write():写入一个字节到输出流中
2public void write(byte[] b/char[] buf):一次写入一个字节数组,最多写入b.length个字节的数据输出到输出流中
3public void write(byte[] b/char[] buf, int off, int len):从off位置开始的,实际读取的字节长度的字节数组或者字符数组,最多输出len个字节的数据到输出流中。
便捷类:
字符转换输入:FileReader(String Filename)
字符转化输出:FileWriter(String Filename)