Extração de Texto do HTML Java

Eu estou trabalhando em um programa que faz o download de páginas HTML e, em seguida, seleciona algumas das informações e as grava em outro arquivo.

Eu quero extrair a informação que é entre as tags de parágrafo, mas eu só posso obter uma linha do parágrafo. Meu código é o seguinte;

FileReader fileReader = new FileReader(file);
BufferedReader buffRd = new BufferedReader(fileReader);
BufferedWriter out = new BufferedWriter(new FileWriter(newFile.txt));
String s;

while ((s = br.readLine()) !=null) {
    if(s.contains("<p>")) {
        try {
            out.write(s);
        } catch (IOException e) {
        }
    }
}

Eu estava tentando adicionar outro loop while, que diria ao programa para continuar escrevendo para o arquivo até que a linha contenha</p> tag, dizendo;

while ((s = br.readLine()) !=null) {
    if(s.contains("<p>")) {
        while(!s.contains("</p>") {
            try {
                out.write(s);
            } catch (IOException e) {
            }
        }
    }
}

Mas isso não funciona. Alguém poderia por favor ajudar?

questionAnswers(8)

yourAnswerToTheQuestion