大哥们,帮我修改一下下面的代码,我想实现把我提取的东西存在mail.java 文件中去,可现在的代码实现不了import java.io.*;
import java.util.regex.*;public class EmailSpider {
public static void main(String[] args) {
try {
BufferedReader br = new BufferedReader(new FileReader(
"E:\\我离哦\\留下邮箱地址,我会尽快发给你_℡蓝蝎子の娃娃.htm"));
String line = "";
try {
while ((line = br.readLine()) != null) {
parse(line);
}
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
private static void parse(String line) throws IOException  {
BufferedWriter wr =null;
try {
 wr = new BufferedWriter(new FileWriter(
"F:\\MMMecipse空间\\正则表达式\\src\\mail.java"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Pattern p = Pattern.compile("[\\w[.-]+]+@[\\w]+\\.[\\w]+");
Matcher m = p.matcher(line);
while (m.find()) {
            wr.write(m.group());
wr.write(m.group());
System.out.println(m.group());

}
}

解决方案 »

  1.   

    如果你能控制台能正常输出
    这样试一下 
    StringBuilder sb=new StringBuilder();
    while (m.find()) {
               sb.append(m.group);
    //wr.write(m.group());
    System.out.println(m.group());

    wr.write(sb+"");
    wr.close();
      

  2.   

    不好意思,改一下 StringBuilder sb=new StringBuilder();
    while (m.find()) {
               sb.append(m.group());
    //wr.write(m.group());
    System.out.println(m.group());

    wr.write(sb+"");
    wr.close();
      

  3.   

    唉!给你改了一下去掉你那个parse函数
    try {
    BufferedReader br = new BufferedReader(new FileReader(
    "E:\\我离哦\\留下邮箱地址,我会尽快发给你_℡蓝蝎子の娃娃.htm"));
    BufferedWriter wr = new BufferedWriter(new FileWriter(
    "F:\\MMMecipse空间\\正则表达式\\src\\mail.java"));
    Pattern p = Pattern.compile("[\\w[.-]+]+@[\\w]+\\.[\\w]+");
    StringBuilder sb = new StringBuilder();
    String line = "";
    try {
    while ((line = br.readLine()) != null) { // 原来每读一行都要去打开文件然后关闭,效率太差。
    Matcher m = p.matcher(line);
    while (m.find()) {
    System.out.println(m.group());
    sb.append(m.group() + "\r\n");
    } }
    wr.write(sb + "");
    wr.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    }