如何从以条件字符串开头和结尾的文件中打印某些行

时间:2011-10-26 10:07:59

标签: java string file-io java.util.scanner

我有一个像这样的.txt文件:

[abc]
There is 
a lot of
contents here 
[abc]

[def]
Here are 
many other
contents
[def]

[ghi]
and bunch of 
contents here too
[ghi]

我想打印出标记字符串之间的内容,例如:打印出[abc]和[abc]之间的所有内容,而不打印任何[abc]行。我怎么能做到这一点?

2 个答案:

答案 0 :(得分:1)

使用bufferedreader和文件阅读器进行输入。 循环输入行并使用string.equals(字符串方法)为您的条件。 不为你编写代码

if (readline) // for opening tag
    while (readline)
        printline
        if (readline) // for closing tag
            break;

答案 1 :(得分:1)

使用布尔标志

进行简单的操作
boolean printing=false;
while((line=in.readLine())!=null){
    if(line.startsWith("[abc]"){
        printing=!printing;
    }else if (printing){
        System.out.println(line);
    }
}