-
代码:
@RequestMapping("get/iodochar") public String ReadAndWriterChar() { FileInputStream inputStream = null; File file = new File("C:\\savapath\\2.txt"); BufferedReader bufferedReader=null; FileWriter fileWriter=null; try { //FileInputStream可以传入文件对象读取字节流也可以直接读取某路径下的文件字节流,FileInputStream提供有方法传路径进去也去创建文件对象,这点我有点理解开源的好了 inputStream = new FileInputStream("C:\\savapath\\2.txt"); //读取到流数据后要新建一个文件存。 File file1 = new File("C:\\savapath\\TestIochar.txt"); file1.createNewFile(); //转换流,从字节流转换成字符流,用InputStreamReader装换,在装到字符流的高速缓冲区BufferedReader,在转换时设置编码格式 bufferedReader=new BufferedReader(new InputStreamReader(inputStream,"GBK")); //然后写入到新建的文件里,将新建的文件对象给输出流 fileWriter = new FileWriter(file1); String test = ""; //每次读取1024个字节,写到新创建的文件里 while ((test = bufferedReader.readLine()) != null) { fileWriter.write(test); } fileWriter.flush(); } catch (Exception e) { System.out.println(e); } finally { try { inputStream.close(); bufferedReader.close(); fileWriter.close(); } catch (IOException e) { System.out.println(e); } } return "OK"; }
总结:处理字符流的基类Reader,Writer。InputStreamReader :字节到字符的桥梁。解码。
OutputStreamWriter:字符到字节的桥梁。编码。数据写入用FileWriter 写入。