完了,我又表达错了:
我的文件内容是这样:
大家好 大家好 大家好
-------------
大家好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*/