Как напечатать определенные строки из файла, которые начинаются и заканчиваются условной строкой - PullRequest
0 голосов
/ 26 октября 2011

У меня есть файл .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 ]

1 голос
/ 26 октября 2011

выполнимо за короткое время с логическим флагом

boolean printing=false;
while((line=in.readLine())!=null){
    if(line.startsWith("[abc]"){
        printing=!printing;
    }else if (printing){
        System.out.println(line);
    }
}
1 голос
/ 26 октября 2011

Используйте буферизированный ридер и считыватель файлов для ввода. переберите строку ввода и используйте string.equals (метод string) для вашего условия. не пишу код для вас

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