readLine()

12 respostas
LEPRA

O pedaço com pau

FileReader freader = new FileReader("texto.txt");
			BufferedReader breader = new BufferedReader(freader);
			
			String linha = null;
			while((linha. == breader.readLine())) {
			    System.out.println("Linha: " + linha);
			}

O arquivo existe e tem dados populados…
Mas…

O meu while ali não da erro e também não retorna nada…

Algem sabe o que tá errado ai?

Valeus

12 Respostas

jvlouvem

Tenta trocar esta linha:

while((linha. == breader.readLine())) {  
                 System.out.println("Linha: " + linha);  
             }

Por esta:

while((linha = breader.readLine())) {  
                 System.out.println("Linha: " + linha);  
             }
W

Tenta fazer assim:

while((linha = breader.readLine())) {  
   System.out.println("Linha: " + linha);  
}

//Daniel

LEPRA
jvlouvem:
Tenta trocar esta linha:
while((linha. == breader.readLine())) {  
                 System.out.println("Linha: " + linha);  
             }

Por esta:

while((linha = breader.readLine())) {  
                 System.out.println("Linha: " + linha);  
             }

É aquilo la do linha. ja tava arrumado... vacilei na hora de colar aqui

e agora ta assim
FileReader freader = new FileReader(f);
				BufferedReader breader = new BufferedReader(freader);
			
				String linha = null;
				while((linha = breader.readLine())) {
			    System.out.println("Linha: " + linha);

Mas ca erro de compinalação na linha do while

Type mismatch: cannot convert from String to boolean

coisa de loco....

LEPRA

e se eu coloco while((linha == breader.readLine()))

ele compila mas num mostra nada

Mavericks

Qual o erro?

Posta o código todo…

T

O correto é fazer isto aqui:

BufferedReader breader = null;
try {
    breader = new BufferedReader (new FileReader ("texto.txt"));
    for (String linha = breader.readLine(); linha != null; linha = breader.readLine()) {
        System.out.println("Linha: " + linha);  
    }
} catch (IOException ex) {
    ex.printStackTrace();
} finally {
    if (breader != null) try { breader.close(); } catch (IOException ex) {}
}
LEPRA

Mavericks
esse ai é o erro:

1. Type mismatch: cannot convert from String to boolean

O estranho é que eu já olhei vários exemplos desse tipo de coisa e todos pedem pra fazer do jeito que tá! :? :? :?

L

Você deve comparar explicitamente com null:

while ((linha = breader.readLine() ) != null) {

E não adianta ficar trocando símbolos (por exemplo: de = para ==). Você precisa ter consciência e compreender o que está digitando. E não esperar que, digitando qualquer coisa, o problema se resolve por mágica.

T

Fabianoc:
e se eu coloco while((linha == breader.readLine()))

ele compila mas num mostra nada

Não deve estar compilando, porque você não está atribuindo o valor retornado por readLine à variável linha. Isso só acalmou o compilador, mas o código não faz o que você quer.

S
Esse erro(Type mismatch: cannot convert from String to boolean

) ta dando kra, porque na clausula do while se espera uma boolean e tu retorna uma variavel linha que eh string

Vc tem que fazer assim

while ( (linha = br.readLine()) != null)

{

}

Mas por clareza de codigo e elegancia faca assim

String linha = br.readLine();

while (linha != null)

{

// fazer coisas

linha = br.readLine();

}

Pronto

LEPRA

Leonardo3001:
Você deve comparar explicitamente com null:

while ((linha = breader.readLine() ) != null) {

E não adianta ficar trocando símbolos (por exemplo: de = para ==). Você precisa ter consciência e compreender o que está digitando. E não esperar que, digitando qualquer coisa, o problema se resolve por mágica.

Ui… o Leonardo3001 fala igual a minha mãe, e como ela resolveu tudo… :twisted: :twisted:
Pode deixar vou tentar parar com as magicas…

L

Rarara… Desculpa aí. Mas você me lembrava na época minha de iniciante, quando eu tentava ficar escrevendo código à esmo. Não adiantava nada!

Criado 4 de fevereiro de 2009
Ultima resposta 4 de fev. de 2009
Respostas 12
Participantes 7