Manipulando Arquivos

Ola galera estou com um problema mo meu sistema aqui, esta dando um erro que nao consigo identificar alguem pode me ajudar,

ai vai o codigo


package arquivos;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

public class ManipulandoArquivo {
	FileWriter fileR;
	BufferedWriter buff;
	File arquivo = new File("c:\\teste.txt");
	
	public void gravar(String texto2) {
		Scanner scanear = new Scanner(System.in);
		System.out.println("Entre com um texto: ");
		String texto = scanear.nextLine();
		System.out.println(texto);
		try {
			FileWriter fileR = new FileWriter("c:\\teste.txt", true); //utilizada pra escrever em arquivos.
			BufferedWriter buff = new BufferedWriter(fileR); // outra classe usada para escrever em arquivos, a diferença dessa pra FileWriter é que essa fica mais facil pra escrever Strings. 
			buff.write(texto); // escreve o texto no final do arquivo, pode ser usado varias vezes pra ir "escrevendo" no arquivo
			buff.flush();// ele vai pegar os bytes do que voce escreveu e jogar no arquivo.
			buff.close(); //  fechar a conexão com o arquivo.
			System.out.println("Sucesso na gravacao!!");
			
		} catch (Exception erro) {
			System.out.println(erro);
		}
	}
	//-----------------------------------------------------------------------------------------
	public void deletarArquivo() {
		if (arquivo.delete())
			System.out.println("Arquivo excluido com sucesso.");
		else
			System.out.println("Não foi possivel excluir o arquivo");
	}
	
	public void lerArquivo() {
		
		try {
		 
			fileR = new FileWriter("teste.txt");
			buff = new BufferedWriter(fileR);

			while (buff.ready()) { // erro nessa linda
				System.out.println(buff.readLine()); // erro nessa linda
			}
			buff.close();

		} catch (FileNotFoundException e) {

		} catch (IOException erro) {

		}
	}
}

esta com erro no while
alguem pode me ajudar

nessa linda? Que porra é essa?
Tem certeza que o exemplo que você está seguindo usa aquilo mesmo dentro do while?

Writer != reader - writer em inglês quer dizer “escritor” e “reader” em inglês quer dizer “leitor”. É por isso que é melhor tentar declarar a variável o mais perto possível de seu uso, em vez de reaproveitar uma variável que além disso está com o tipo errado.

  1. Evite usar “ready” para checar se é possível ler alguma coisa de um arquivo. Eu digo isso porque você pode tentar usar “ready” com sockets e pode acabar tentando usar do mesmo jeito - esse método não é muito confiável, na verdade.
    Em vez disso, leia a tal coisa, e cheque se ela retornou “null” - nesse caso, o arquivo acabou mesmo.
    Eu acho que é mania de professores que aprenderam Pascal (WHILE NOT EOF) e tentam repetir esse jeito de pensar em todos os lugares.
    Mesmo o equivalente em C (feof) não funciona lá muito bem.

o que devo fazer??

[quote=entanglement]Eu acho que é mania de professores que aprenderam Pascal (WHILE NOT EOF) e tentam repetir esse jeito de pensar em todos os lugares.
[/quote]

isso soou meio preconceituoso. rsrs.

to brincando.

mas isso não é “jeito de pensar”, é só uma maneira de fazer alguma coisa.

isso tb não é equivalente?

[code]// Fetch each row from the result set
while (rs.next()) {
// Get the data from the row using the column index
String s = rs.getString(1);

    // Get the data from the row using the column name
    s = rs.getString("col_string");
}[/code]