转换流:就是对字节流和字符流之间转换的流对象
InputStreamReader:字节流到字符流的桥梁。解码
OutputStreamWriter:字符流到字节流的桥梁。编码
1 private static void readKey3() throws IOException { 2 // 字节流 3 InputStream in = System.in; 4 5 // 字节流转成字符流。解码 6 Reader r = new InputStreamReader(in); 7 // 字符流 8 BufferedReader br = new BufferedReader(r); 9 10 // 字节流 11 OutputStream out = System.out; 12 // 字符流转成字节流。编码 13 Writer w = new OutputStreamWriter(out); 14 // 字符流 15 BufferedWriter bw = new BufferedWriter(w); 16 String line = null; 17 while ((line = br.readLine()) != null) { 18 if ("over".equals(line)) { 19 break; 20 } 21 //System.out.println(line.toUpperCase()); 22 //接收字符 23 bw.write(line.toUpperCase()); 24 bw.newLine(); 25 bw.flush(); 26 } 27 }
分析解码、编码:
解码:二进制数据转换成字符流数据,输入流操作字符或字节
编码:字符数据转换成字节流数据,输出流操作的数据最终都是字节