1 package com.test;
2
3 import java.io.BufferedReader;
4 import java.io.BufferedWriter;
5 import java.io.File;
6 import java.io.FileInputStream;
7 import java.io.FileNotFoundException;
8 import java.io.FileReader;
9 import java.io.FileWriter;
10 import java.io.IOException;
11 import java.io.InputStream;
12 import java.util.ArrayList;
13 import java.util.List;
14 /**
15 * 将文档中每一行的男转为女,需要注意要读取的文件的编码格式与java文件的编码格式相同
16 * @author Administrator
17 *
18 */
19 public class Demo2 {
20
21 public static void main(String[] args) {
22 // TODO Auto-generated method stub
23
24 Read read = new Read();
25 read.readWrite();
26 }
27
28 }
29
30 class Read {
31 public static void readWrite() {
32
33
34 BufferedReader bufferedReader = null;
35 BufferedWriter bufferedWriter = null;
36 try {
37 //找到要进行转换的文件
38 File file = new File("D://userMsg//userinfo.txt");
39 //建立读取数据通道
40 FileReader fileReader = new FileReader(file);
41 bufferedReader = new BufferedReader(fileReader);
42 String str = null;
43 //保存读取道德内容 输入流
44 List<String> list = new ArrayList<String>();
45 while ((str = bufferedReader.readLine()) != null) {
46 //进行男女转换
47 System.out.println(str);
48 String s = str.replaceAll("男", "女");
49 list.add(s);
50 }
51 //建立写入数据通道 输出流
52 FileWriter fileWriter = new FileWriter(file);
53 bufferedWriter = new BufferedWriter(fileWriter);
54 //遍历集合
55 for (String s : list) {
56 bufferedWriter.write(s);
57 System.out.println(s);
58 }
59 //流冲刷,如果缺少,可能导致写入不成功
60 bufferedWriter.flush();
61 } catch (FileNotFoundException e) {
62 // TODO Auto-generated catch block
63 e.printStackTrace();
64 } catch (IOException e) {
65 e.printStackTrace();
66 } finally {
67 //关闭流
68 if (bufferedWriter != null) {
69 try {
70 bufferedWriter.close();
71 } catch (IOException e) {
72 // TODO Auto-generated catch block
73 e.printStackTrace();
74 } finally {
75 if (bufferedReader != null) {
76 try {
77 bufferedReader.close();
78 } catch (IOException e) {
79 // TODO Auto-generated catch block
80 e.printStackTrace();
81 }
82 }
83 }
84 }
85 }
86
87 }
88 }