有一大堆聊天记录(1W行左右),格式如下。张三AAA:。
李四BBB:。
王五CCC:。
读出来后。我现在需要导出聊天记录且聊天记录只保存【张三AAA:】的记录怎么做喃?思路我知道,但写出来有问题。希望给个例子参考,谢谢!

解决方案 »

  1.   


    public class Chat {
    public static void main(String[] args) throws IOException {
    BufferedReader input = new BufferedReader(new InputStreamReader(
    new FileInputStream("./chat.txt")));
    String temp;
    StringBuffer sb = new StringBuffer();// 存放结果
    // 读取每一行后加入换行
    String lineSeperator = System.getProperty("line.separator"); temp = input.readLine();
    while ((null != temp) && (!"".equals(temp))) {
    if (temp.startsWith("张三AAA")) {
    sb.append(temp + lineSeperator);
    }
    temp = input.readLine();
    } input.close();
    System.out.println(sb.toString());
    }
    }chat.txt的内容如下:
    张三AAA:我是张三
    李四BBB:我是李四
    王五CCC:我是王五
    张三AAA:欢迎大家
      

  2.   


     new FileInputStream("chat.txt")));// new FileInputStream("./chat.txt")));,读取文件的时候注意路径
      

  3.   

    下面是完整的程序,前面有点问题:import java.io.BufferedReader;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;public class Chat {
    public static void main(String[] args) throws IOException {
    BufferedReader input = new BufferedReader(new InputStreamReader(
    new FileInputStream("chat.txt")));
    String temp;
    StringBuffer sb = new StringBuffer();// 存放结果
    // 读取每一行后加入换行
    String lineSeperator = System.getProperty("line.separator"); temp = input.readLine();
    while ((null != temp) && (!"".equals(temp))) {
    if (temp.startsWith("张三AAA")) {
    sb.append(temp + lineSeperator);
    }
    temp = input.readLine();
    } input.close();
    System.out.println(sb.toString());
    }
    }如果用eclipse的话,文件chat.txt要放在src的父目录中,文件内容和上面的一样。
      

  4.   

    哎呀呀,是我表述的有问题。算了,反正解决了。消息记录格式也发出了。
    System.getProperty("line.separator");
    这个蛮有用的嘛