转换流
IO中的流分为字节流和字符流【转换流只有从字节流转换为字符流的类,没有字符流转换成字节流的类】 转换流的类InputStreamReader和OutputStreamWriter 【字节流】任何时候都可以用 【字符流】仅限于文本文件 什么时候用转换流: 当我们的字节流指向一个文本文件,我们用转换流将其转换为字符流会更加方便操作 static void testOutputStreamWriter() { //指向文档的字节输入流 try (InputStream in = new FileInputStream("hello.txt"); //将上面的字节流转成字符流输入流 Reader read = new InputStreamReader(in, "utf-8"); //创建带缓冲的字符输入流 BufferedReader bfRead=new BufferedReader(read); //指向文档的字节输出流 OutputStream out = new FileOutputStream("hell22.txt"); //将上面的字节流转成字符流输出流 Writer writer = new OutputStreamWriter(out, "utf-8"); //创建带缓冲的字符输出流 BufferedWriter bfWriter=new BufferedWriter(writer); ) { //创建缓冲区用来存放每次读取的数据 char[] ch=new char[50]; //每次放入到缓冲区的数据的实际个数 int len=0; //String content=""; while((len=bfRead.read(ch))!=-1){ // content+=new String(ch,0,len); bfWriter.write(ch, 0, len); } //writer.write(content); //System.out.println(content); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }