1 import java.io.BufferedReader;
2 import java.io.BufferedWriter;
3 import java.io.FileInputStream;
4 import java.io.FileNotFoundException;
5 import java.io.FileOutputStream;
6 import java.io.IOException;
7 import java.io.InputStreamReader;
8 import java.io.OutputStreamWriter;
9
10 public class BianMaDemo2 {
11 public static void main(String[] args) throws IOException, FileNotFoundException {
12 //将UTF-8编码的文件读出,保存到编码为GBK的文件中,java中默认编码为GBK
13 //若读出时使用字节流
14 BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream("222.txt"),"UTF-8"));
15 BufferedWriter wr=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("111.txt"),"GBK"));
16 //创建缓冲流,底层是字符输入流实现,字符输入流实现字节向字符的转换(字符输入流底层是字节输入流实现)
17 //对于字符流可以指定其编码格式
18
19 /*
20 * 法一
21 * 使用BufferedReader的readLine()方法,一次读一行,不包括最后的换行符
22 */
23
24 /*String line;
25 while((line=br.readLine())!=null){
26 wr.write(line,0,line.length());
27 wr.newLine();
28 }*/
29
30
31
32 /*
33 * 法二
34 * 定义字节数组,一次读取一个数组,返回数组长度,写入时要用具体长度
35 */
36 /*int len;
37 char[] chs=new char[1024];
38 while((len=br.read(chs))!=-1){
39 wr.write(chs,0,len);
40 }*/
41
42
43
44 /*
45 * 法三
46 * 定义int类型,一次读取一个字节,
47 */
48 int ch;
49 while((ch=br.read())!=-1){
50 wr.write(ch);
51 }
52
53
54 br.close();//释放资源
55 wr.close();
56 }
57
58 }