如何使用Java读取文本文件的特定部分

时间:2014-07-09 21:23:15

标签: java file-io

我有一个包含

的文本文件
"[PartA]
1
2
3
[PartB]
4
5
6
[PartC]
7
8
9"
到目前为止我所做的只是阅读[PartA] 这是我的代码:

try
    {
        BufferedReader fw = new BufferedReader(new FileReader(new File(filename)));

        while(!((content=fw.readLine()).equals("[PartB]")))
        {
            System.out.println(content);
        }
    }
    catch(Exception e)
    {

    }

那么如何才能只阅读PartB或只阅读PartC?

2 个答案:

答案 0 :(得分:3)

你可以说

boolean partB = false;
content = fw.readLine();
while(content != null) {
    if(content.equals("[PartA]")) {
        partB = false;
    } else if (content.equals("[PartB]")) {
        partB = true;
    } else if (content.equals("[PartC]")) {
        partB = false;
    }
    if (partB) {
        System.out.println(content);
    }
    content = fw.readLine();
}

并遵循PartC

的相同逻辑

答案 1 :(得分:0)

try
    {
        BufferedReader fw = new BufferedReader(new FileReader(new File(filename)));
     while(!fw.readLine()).equals("[PartB]"){} //search for PartB
     while(!(content=fw.readLine())).equals("[PartC]")){   //read till PartC
        System.out.println(content);
     }

    }
    catch(Exception e)
    {

    }