Leitura de arquivos

Como ler um arquivo txt inteiro sem ler linha por linha ?

Estou lendo um documento através do BufferedReader e FileReader, utilizando o método readLine() porem queria ler o arquivo por inteiro de uma vez só, sem passar linha por linha…

Alguem tem alguma dica ?

Você pode fazer assim:

http://stackoverflow.com/questions/4716503/best-way-to-read-a-text-file

public String readDoc(File f) {
    StringBuffer text = new StringBuffer();
    int read, N = 1024 * 1024;
    char[] buffer = new char[N];

    try {
        FileReader fr = new FileReader(f);
        BufferedReader br = new BufferedReader(fr);

        while(true) {
            read = br.read(buffer, 0, N);
            text.append(new String(buffer, 0, read));

            if(read < N) {
                break;
            }
        }
    } catch(Exception ex) {
        ex.printStackTrace();
    }

    return text.toString();
}

Cara, o que esse código está fazendo ?

Tem como add alguns comentários ae ?

Vlw !

[quote=paulohms]Como ler um arquivo txt inteiro sem ler linha por linha ?

Estou lendo um documento através do BufferedReader e FileReader, utilizando o método readLine() porem queria ler o arquivo por inteiro de uma vez só, sem passar linha por linha…

Alguem tem alguma dica ?[/quote]

Pergunta imbecil número um - digamos que você leia o arquivo inteiro dentro da memória (cuidado com isso, por favor - não se esqueça que Java não aloca mais memória que o especificado na linha de comando).
O que você quer realmente fazer com ele?

a) Quero o tal arquivo separado em um array ou ArrayList de strings, cada uma com uma linha.
b) Não quero saber o que o arquivo tem, só sei que ele é um montão de bytes que vou copiar para outro lugar.
c) Quero o tal arquivo como um List de objetos já todos certinhos a partir de cada linha.
d) ???

entanglement,

O negocio é o seguinte, tenho um documento com algumas linhas no quais preciso retirar alguns resultados através de uma regex… sendo que se eu tiver a leitura de cada linha não tem como restringir a mesma…

A minha pergunta não foi idiota, se eu perguntei é pq tenho dúvidas, acho que vc não nasceu já sabendo td… um dia também teve dúvidas e para aprender precisou ir atras delas…

Vlw pela resposta.