Problema com BufferedReader

Pessoal, estou tentando ler a URL de um site.
Esta URL tem em torno de 5000 linhas, porém sempre que vou ler a URL, o BufferedReader interrompe a leitura de linha em torno de 1500 a 2000 linhas e não gera nenhum erro.
Tem algo errado no código abaixo?
Obrigado

[code]//Monto o URL para ser lido
try {
url = new URL(link);
buffer = new BufferedReader(new InputStreamReader(url.openStream()));
} catch (MalformedURLException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null, “Erro MalformdedURL”);
} catch (IOException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null, “Erro IOException”);
}

	//Percorro a URL procurando os textos especificos
	try {
		while ((linha = buffer.readLine()) != null) {
			if (linha == "<div align=\"center\"><strong>T&#237;tulo Original:</strong></div></dh>") {
				buffer.readLine();
				linha = buffer.readLine();
				inicio = linha.lastIndexOf("<div align=\"center\">");
				fim = linha.indexOf("</div></td>");
				setTituloOriginal(linha.substring(inicio, fim));
				System.out.println("Achou");
				System.out.println(getTituloOriginal());
			}
			i++;
			System.out.println(i + " - " + linha);
		}
	} catch (IOException e) {
		e.printStackTrace();
	} finally {
		try {
			buffer.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}[/code]

Java é uma danada de uma linguagem dos infernos onde não dá para comparar 2 strings usando “==” (até em C++ dá para fazer isso :frowning: )

Acho que foi um deslize momentâneo de sua parte, você deve saber exatamente o conserto para esse problema.
(Eu volta e meia também faço isso - ou coisa muito pior, e é por isso é que não fico tripudiando sobre seu erro.)

Estava utilizando o método .equals, porém como estava dando o mesmo erro tentei fazer a comparação com ==, porém o problema não é este.
A leitura da URL não chega na parte onde contém esta linha que estou procurando, esta linha esta quase no final do arquivo, em torno de 4000 linhas, porém o máximo que ele chega a ler é em 2000 e pouco, não passa disso.
Simplesmente interrompe a leitura e não gera nenhum erro

Seu problema é com o tamanho do buffer do BufferedReader, que possui tamanho default de 8Kb.
Você pode tentar alocar um tamanho maior para o buffer, passando esse tamanho como parâmetro para o contrutor. Vamos usar um buffer de 100Kb, por exemplo:

[code]//Monto o URL para ser lido
try {
url = new URL(link);
buffer = new BufferedReader(new InputStreamReader(url.openStream()), 100*1024); // Passando o tamanho do buffer como segundo parâmetro do construtor.
} catch (MalformedURLException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null, “Erro MalformdedURL”);
} catch (IOException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null, “Erro IOException”);
}

	//Percorro a URL procurando os textos especificos
	try {
		while ((linha = buffer.readLine()) != null) {
			if (linha == "<div align=\"center\"><strong>Título Original:</strong></div></dh>") {
				buffer.readLine();
				linha = buffer.readLine();
				inicio = linha.lastIndexOf("<div align=\"center\">");
				fim = linha.indexOf("</div></td>");
				setTituloOriginal(linha.substring(inicio, fim));
				System.out.println("Achou");
				System.out.println(getTituloOriginal());
			}
			i++;
			System.out.println(i + " - " + linha);
		}
	} catch (IOException e) {
		e.printStackTrace();
	} finally {
		try {
			buffer.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}[/code]

Talvez isso resolva seu problema.

Lembre-se de comparar Strings usando o método equals.

Oi Matheus, obrigado pela resposta.
Efetuei a alteração como você sugeriu, porém continua ocorrendo o mesmo problemas.

Teste 1

[quote]2229 - }
2230 -
2231 -
2232 - .ipsButton_secondary.important {
2233 - background: #9f2a00;
2234 - background: -moz-linear-gradient(top, #9f2a00 0%, #812200 100%); /* firefox */[/quote]

Teste 2

[quote]1724 - .ipsPostForm.ipsLayout_withright {
1725 - padding-right: 260px !important;
1726 - }
1727 -
1728 - .ipsPostForm .ipsLayout_content {
1729 - z-index: 900;[/quote]

Estes são as saídas que estão saindo, conforme pode ver, não tem um critério onde esta sendo interrompido.
Os 2 testes foram feitas com a alterção do tamanho do buffer.

Acabei de fazer o teste deste código em outro pc e funcionou numa boa.
Consigo percorrer todo o codigo fonte da pagina.
Na máquina que esta ocorrendo o problema, já removi todo o java e jdk e reinstalei e o problema continua.
Alguém tem uma idéia do que pode ser?