anche perchè per poter eventualmente togliere quel problema avevo provato ad utilizzare il trim() o il replaceAll() sostituendo gli a capo con degli spazi o con qualcosa di diffierente
Proprio non capisco... tu leggi il codice di una pagina html, una riga alla vlolta.
All'interno di questo ciclo di for:
Codice PHP:
    while(true)
    {
        
String download pagina.readLine();
        ... 
Ad ogni iterazione che fai, leggi una nuova riga del codice HTML. Quindi non è che puoi rimuovere gli "a capo" lavorando su una singola riga... anche se usi un repalceAll sulla riga, di "a capo" uno solo ce n'e', alla fine della riga!
Se il codice HTML e' scritto in questo modo:

<div style="color: white">Mario Freschi
</div>

Il tuo algoritmo va in crisi. Anche se non è detto che non vi siano problemi di altro tipo...
Il primo passo potrebbe essere quello di stampare tutta la riga letta come prima istruzione nel ciclo di while di cui sopra. In questo modo si può capire su che stringa lavora il tuo algortmo. (penso che prima o poi mi metterò a cercare un manuale sull'arte dimenticata di fare debug...)

Magari, invece di leggere le righe da url, leggi da un file con righe scritte da te, in modo che sia possibile testare il codice in tutte le condizioni che ritieni possibili. La prima prova la farai con righe di codice HTML perfette. Quando in questa modalità funzionerà correttamete, comincerai ad aggiungere i difetti che caratterizzano le pagine web reali.

Qui hai due possibilità:
1. o complichi notevolmente il codice in modo da tener memoria che alla riga precedente hai trovato un ">" oppure un "<", oppure... in modo che alla riga successiva l'algoritmo sappia in che stato si trova (ne sai qualcosa delle macchine a stati?)

2. in modo molto più semplice e osceno (se il file che leggi è troppo lungo va tutto a farsi benedire, ma attualmente le stringhe in java possono essere molto lunghe... anche se forse l'uso di uno StringBuffer sarebbe preferibile), fai un ciclo di while che esaurisce tutto lo stream proveniente dall'url e che produce un'unica stringa contenente tutto il codice html della pagina, a partire dalla prima all'ultima riga html, spazi e "a capo" compresi, che tanto non danno fastidio.
In seconda battuta fai girare il tuo algoritmo su quest'unica mega stringa.

Ciao!