根据流出现的位置,分为包装流,处理流,节点流
BufferedInputStream
BufferedOutputStream
BufferedReader 缓冲区的字符输入流
readerLine()方法
public static void main(String[] args) throws IOException {
//FileReader f = new FileReader("D:\\ppp\\qpqp");//节点流
//BufferedReader br = new BufferedReader(f );//将文件字符输入流包装成带有缓冲区的字符输入流----包装流(处理流)
//根据流出现的位置,分为包装流,处理流,节点流
BufferedReader br = new BufferedReader(new FileReader("D:\\ppp\\qpqp.txt"));
String temp = null;
while((temp = br.readLine())!=null){//READER方法读取一行,但是行尾没有换行符
System.out.println(temp);
}
br.close();//关闭只需要关闭最外层的包装流(装饰者模式)
}
转换流 InputStreamReader
public static void main(String[] args) throws IOException {
//包装流和节点流是相对而言得
//FileInputStream f = new FileInputStream("D:\\ppp\\qpqp.txt");//w文件字节输入流
//转换流
//InputStreamReader isr = new InputStreamReader(f);
//BufferedReader br = new BufferedReader(isr);
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("D:\\ppp\\qpqp.txt")));
String temp = null;
while((temp = br.readLine())!=null) {
System.out.println(temp);
}
//装饰者模式
br.close();
}
接收用户的键盘输入
//接受用户键盘输入
/*Scanner sc = new Scanner(System.in);//是一个标准的输入流,可以默认接受键盘的输入
String str = sc.next();//等待用户的输入
System.out.println(str);//输出
*/
//BufferedReader接收用户的输入
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//每一次都接收一行
String s = br.readLine();
System.out.println(s);
br.close();
BufferedWriter缓冲区的字符输出流
//创建带有缓冲区的字符输出流
//BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\ppp\\qpqp.txt"));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("D:\\ppp\\qpqp.txt",true)));
bw.write("ai");
bw.newLine();//写入一个行分隔符
bw.write("开幕式");
bw.flush();
bw.close();
文件的复制
BufferedReader br = new BufferedReader(new FileReader("D:\\ppp\\qpqp.txt"));
BufferedWriter vi = new BufferedWriter(new FileWriter("D:\\ppp\\p.txt"));
String temp = null;
while((temp = br.readLine())!=null ){
vi.write(temp);
vi.newLine();
}
vi.flush();
br.close();vi.close();