当前位置: 代码迷 >> J2SE >> 想用java来处理上面这个文本
  详细解决方案

想用java来处理上面这个文本

热度:31   发布时间:2016-04-24 00:26:33.0
想用java来处理下面这个文本
完了,我又表达错了:
我的文件内容是这样:


大家好 大家好 大家好
-------------
大家好1 大家好1 大家好1
-------------
大家好2 大家好2 大家好2
//这里是空行
呵呵呵呵呵呵呵呵呵呵呵呵
-------------
呵呵呵呵呵呵呵呵呵呵呵呵1
------------
呵呵呵呵呵呵呵呵呵呵呵呵2


我要提取:
大家好1 大家好1 大家好1
大家好2 大家好2 大家好2
呵呵呵呵呵呵呵呵呵呵呵呵1
呵呵呵呵呵呵呵呵呵呵呵呵2


谢谢!

我的初步想法是先按照 空行 分割成两块,然后按照“---------”继续分割。但是想问下大家如何按照 空行来分割文本呢?

------解决方案--------------------
我才该叫你大哥啊,上面都说了 //后面的sb2等代码照猫画虎你应该搞出来,我就不全敲了.非得给您老全部代码,授人以鱼不如授人以鱼嘛。思考致富,我吧我承认其实我一点也富,小弟都还没出师呢.,下面代码你老请受用, copy运行去吧。
Java code
import java.io.*;class s{        public static void main(String[] args) throws IOException{        StringBuffer sb1=new StringBuffer(    ),sb2=new StringBuffer();        BufferedReader br =new  BufferedReader(new FileReader("ddd.txt"));        String line =null;                while( (line = br.readLine() ) != null ){                    if ( (line!=null)&&line.trim().equals("") ) break;                    //第二分支的时候判断if ("-------------".equals(line))                    sb1.append(line);//                    sb1.append("\r\n");  你只要打印的话这行就不用了                }                if(line.trim().equals("")){                    while( (line = br.readLine() ) != null ){                        sb2.append(line);//                        sb2.append("\r\n"); 你只要打印的话这行就不用了                    }                }                System.out.println(sb1);    //先打印下看看sb1是否正确,已转成单行        System.out.println(sb2);    //再打印下看看sb2是否正确 ,已转成单行        System.out.println("\r\n\r\n\r\n");        //sb1 sb2都正确了,表明已把空行前后提取了,再继续处理-----------        System.out.println("最终你想要的结果如下:");        output(sb1);        output(sb2);    }        public  static void    output(StringBuffer sb){        String s = new String(sb);        String ss[] = s.split("-------------");        for(String temp:ss){            System.out.println(temp);        }    }}/*ddd.txt 文件中内容如下:sien-------------bobo        xixi-------------ioio*/
  相关解决方案