io流中转换流以及节点流包装流的区分
/**
* BufferedWriter带有缓冲的字符输出流
* OutputStreanWriter 转换流
*/
public class BufferedWriterTest {
public static void main(String[] args) throws IOException {
//带有缓冲区的字符输出流
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("Xi.java")));
//写
out.write("Hello World");
out.flush();
out.close();
}
}
public class BufferedReaderTest {
public static void main(String[] args) throws IOException {
//字节流
FileInputStream in =new FileInputStream("Xi.java");
//通过转换流转换
//in是节点流 reader是包装流
InputStreamReader reader =new InputStreamReader(in);
//这个方法只能传一个字符流,不能传字节流
//br是包装流,reader是节点流
BufferedReader br =new BufferedReader(reader);
String line =null;
while ((line =br.readLine())!=null){
System.out.println(line);
/*
合并写法
BufferedReader br =new BufferedReader(new InputStreamReader(new FileInputStream("Xi.java")))
*/
}
//关闭最外层
br.close();
}
}