转换流
InputStreamReader OutputStreamWriter 处理流。
只能单向转化,字节流转向字符流,也就是小的转大的,字节流8位,字符流16位。作用就是加速文本转化的速度。
这个和基本数据类型转化有点相似,像byte可以转化为int,但是int转化为byte可能得到不是我们想要的结果。
转换流的经典例子:将键盘输入的一行的文字输入到到文本文档中。
键盘输入文本到txt文档中
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //外面是包装流,里面创建转化流对象,进行输入
BufferedWriter bw = new BufferedWriter(new FileWriter("d:\\hello.txt", true));
String str = br.readLine(); //读取一行文件
while( !"end".equals(str)) { //"end".equals(str) 目的是结束输入,为了防止空指针异常,就不采用str.equals("end")
bw.write(str);
bw.newLine();
//bw.flush(); //手动刷新
str = br.readLine(); //读取下一行
}
bw.close(); //关流
br.close();
System.out.println("输入结束");
}