完了,我又表达错了:
我的文件内容是这样:
大家好 大家好 大家好
-------------
大家好1 大家好1 大家好1
-------------
大家好2 大家好2 大家好2
//这里是空行
呵呵呵呵呵呵呵呵呵呵呵呵
-------------
呵呵呵呵呵呵呵呵呵呵呵呵1
------------
呵呵呵呵呵呵呵呵呵呵呵呵2
我要提取:
大家好1 大家好1 大家好1
大家好2 大家好2 大家好2
呵呵呵呵呵呵呵呵呵呵呵呵1
呵呵呵呵呵呵呵呵呵呵呵呵2
谢谢!我的初步想法是先按照 空行 分割成两块,然后按照“---------”继续分割。但是想问下大家如何按照 空行来分割文本呢?
我的文件内容是这样:
大家好 大家好 大家好
-------------
大家好1 大家好1 大家好1
-------------
大家好2 大家好2 大家好2
//这里是空行
呵呵呵呵呵呵呵呵呵呵呵呵
-------------
呵呵呵呵呵呵呵呵呵呵呵呵1
------------
呵呵呵呵呵呵呵呵呵呵呵呵2
我要提取:
大家好1 大家好1 大家好1
大家好2 大家好2 大家好2
呵呵呵呵呵呵呵呵呵呵呵呵1
呵呵呵呵呵呵呵呵呵呵呵呵2
谢谢!我的初步想法是先按照 空行 分割成两块,然后按照“---------”继续分割。但是想问下大家如何按照 空行来分割文本呢?
解决方案 »
- 不知道为何同步代码出现异常。求高手帮助,跪谢了!
- 怎么发有图片的简历???
- 谁能给我个javamail imap协议的访问多个文件夹的例子?
- jdbc与sql server 2000数据库的连接
- 请教servlet的helloservlet基础问题
- 抛出和捕获
- 请问怎样实现JAVA程序的自动连接
- 请问,给电信之类的客户做http服务应用,选择哪种WEB应用服务器较好?
- 各位,谁有Jbuilder4中文手册?
- 多线程问题
- java指纹识别+谷歌图片识别技术==============贴出邮箱-送源码=================
- 问下 关于宽带连接 重复连接 直到第三段ip等于某个值 怎么弄呢
StringBuffer sb1=new StringBuffer( );
StringBuffer sb2=new StringBuffer( );
然后再定义一个:
BufferedReader br =new BufferedReader(new FileReader("ddd.txt"));再然后开始读喽:
String line =null;
while( (line = br.readLine() ) != null ){
if(line是空行) break;
sb1.append(line);
}
再继续读:(不过在这边读之前最好先判断一下是不是因为读到文件尾了才退出的。因为前面的while循环
也有可能是因为空行而退出的)
if( line是空行){
while( (line = br.readLine() ) != null ){
sb2.append(line);
sb1.append("\r\n");
}
}
这样就用StringBuffer sb1,sb2分别提取了空行前的信息,和空行后的信息。
之后就对sb1,sb2分别类似上面继续分割处理。如果仅仅是打印出来的话就更简单了。
import java.io.*;
class s{
public static void main(String[] args) throws IOException{
StringBuffer sb1=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");
}
System.out.println(sb1);
/* 打印结果如下:
sien
-------------
bobo */
//后面的sb2等代码照猫画虎你应该搞出来,我就不全敲了.
}
}/*ddd.txt 文件中内容如下:
sien
-------------
bobo
xixi
-------------
ioio
*/
while( (line = br.readLine() ) != null ){
if(line是空行) break;
sb1.append(line);
}再继续读:(不过在这边读之前最好先判断一下是不是因为读到文件尾了才退出的。因为前面的while循环
也有可能是因为空行而退出的)
if( line是空行){
while( (line = br.readLine() ) != null ){
sb2.append(line);
sb1.append("\r\n");
}
}
不是,老大,首先非常感谢啊!
但是小弟要的是输出
sien
bobo
xixi
ioio
全部都输出出来。不能break掉啊~~~
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
*/