字节输入流
字节输入流操作单元是字节
InputSream是所有表示输入字节流类的父类(抽象类)
方法:
- int read() 从输入流中读一个字节
- int read(byte[] b) 从输入流中读若干个字节到数组中
- long skip(long n) 跳过n个字节
- void reset() 回到最近一次做的标记处
- void close() 关闭输入流,释放与此输入流相连的系统资源
import java.io.*;
public class InputStreamDemo {
public static void main(String[] args) {
byte[] b = new byte[8];
try {
FileInputStream in = new FileInputStream("Hello.txt");
int n = in.read(b);
in.close();
System.out.println("读入" + n + "个字节");
System.out.println("读入的内容是:" + new String(b));
}
catch(IOException e) {
System.err.println(e);
}
}
}
字节输出流
OutputStream:是抽象类,是所有输出字节流的父类。功能:接受要输出的字节并将它送往目的地。
方法:
- write(int b) 往输出流写一个字节
- write(byte[] b) 往输出流注入字节数据
- close() 关闭输出流,释放与之相连的系统资源
字符输入流Reader
Reader: 读取字符流的抽象类(Unicode字符操作)
方法:
- int read() 读取一个字符
- int read(char[] cbuf) 读取一串字符(到字符数组)
- long skip(long n) 跳过n个字符
- reset() 将读取位置恢复到标记处
- close() 关闭字符流
字符输出流Writer
Writer抽象类:是所有表示输出字符流类的父类。
功能:接受要输出的字符并将它送往目的地。
方法:
- write(String str)
- write(char[] cbuf)
- flush()
- close()
缓冲流
BufferedReader的构造方法
1.BufferedReader(Reader in)
2.BufferedReader(Reader in, int sz)。sz是指定缓冲的大小
BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
BufferedReader方法:
int read() 读一个字符
String readLine() 读一行
read(char[] cbuf, int off, int len) 将指定数量(len)字符读到字符数组中的指定位置(off)
FileReader fr = new FileReader("readme.txt");
BufferedReader br = new BufferedReader(fr);
String line = br.readLine();
fr.close();
br.close();