FileInputStream in = new FileInputStream("e:\\javaio\\utf8.txt"); InputStreamReader isr = new InputStreamReader(in,"utf-8");//默认项目的编码,操作的时候,要写文件本身的编码格式 FileOutputStream out = new FileOutputStream("e:\\javaio\\utf81.txt"); OutputStreamWriter osw = new OutputStreamWriter(out,"utf-8"); char[] buffer = newchar[8*1024]; int c; /*批量读取,放入buffer这个字符数组,从第0个位置开始放置,最多放buffer.length个 返回的是读到的字符的个数 */ while(( c = isr.read(buffer,0,buffer.length))!=-1){ String s = new String(buffer,0,c); System.out.print(s); osw.write(buffer,0,c); osw.flush(); } isr.close(); osw.close();
FileReader/FileWriter
进一步封装了文件字符流的读写,使用更方便:
1 2 3 4 5 6 7 8 9 10 11
FileReader fr = new FileReader("e:\\javaio\\demo.txt"); FileWriter fw = new FileWriter("e:\\javaio\\demo2.txt"); //FileWriter fw = new FileWriter("e:\\javaio\\demo2.txt",true); char[] buffer = newchar[2056]; int c ; while((c = fr.read(buffer,0,buffer.length))!=-1){ fw.write(buffer,0,c); fw.flush(); } fr.close(); fw.close();