Extracción de texto de HTML Java

Estoy trabajando en un programa que descarga páginas HTML y luego selecciona parte de la información y la escribe en otro archivo.

Quiero extraer la información que se encuentra entre las etiquetas de los párrafos, pero solo puedo obtener una línea del párrafo. Mi código es el siguiente;

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) {
        }
    }
}

Estaba intentando agregar otro bucle while, que le indicaría al programa que continuara escribiendo en el archivo hasta que la línea contenga el</p> etiqueta, diciendo;

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

Pero esto no funciona. ¿Podría alguien ayudar, por favor?

Respuestas a la pregunta(8)

Su respuesta a la pregunta