Ler arquivo e popular em array

7 respostas
rjpepeu

Fala pessoal, sou novo por aqui e estava precisando da ajuda de vocês, segue minha dúvida:

Eu estou tentando fazer minha primeira aplicação, e a metodologia da mesma será:
Gerar randomicamente uma String(que está em um arquivo.txt, ou .xls ou .doc).

O que eu pensei foi o seguinte, criar um array com todos as Strings(linha por linha), depois usar a função java.lang.Math.random no índice do array, com isso eu terei o índice do array e é só imprimir o mesmo.(estou certo?)

Não sei se realmente funcionará, mas até agora eu não consegui ler do arquivo e popular o array(está é minha dificuldade, como pegar o BufferedReader e passar para o array). :?:

Será que alguém pode me ajudar? :idea:

Obrigado.

7 Respostas

T

Para ler um arquivo, você pode dar uma olhadinha nesta classe aqui (que lê um arquivo, modifica a linha lida, e grava em outro arquivo.)

import java.io.*;

class SedTosco {
    private static void erroSintaxe() {
        System.err.println ("Sintaxe: java -cp . SedTosco padraoDe valorPara arquivoEntrada arquivoSaida");
        System.err.println ("Exemplo: java -cp . SedTosco \"joão\" \"maria\" entrada.txt saida.txt");
    }
    public static void main(String[] args) throws Exception {
        if (args.length != 4) {
            erroSintaxe();
            return;
        }
        BufferedReader br = new BufferedReader (new FileReader (args[2]));
        BufferedWriter bw = new BufferedWriter (new FileWriter (args[3]));
        for (String linha = br.readLine(); linha != null; linha = br.readLine())
        {
            bw.write (linha.replaceAll (args[0], args[1]));
            bw.newLine();
        }
        bw.close();
        br.close();
    }
}
rjpepeu

Beleza,
ler de um arquivo eu consigo numa boa, o problema todo é ler e passar isso pra um array, não consigo implementar de maneira nenhuma, mesmo assim valeu pela força e surgiu uma nova idéia para eu ler um arquivo.

Se souber como popular o que foi lido do arquivo em um array, posta ai. :?:

Abs

T

A forma mais simples de ler um arquivo em um array é usar um ArrayList, e então criar um array a partir do arraylist.

List<String> linhas = ArrayList<String>();
....
     linha = ...;
     linhas.add (linha);
....
String[] arrayLinhas = linhas.toArray(new String[0]); // isto irá criar um Array a partir do seu ArrayList.
rjpepeu

Vou tentar implementar isso agora.

Espero conseguir… rssss

Valeu mesmo pela ajuda ae.

Abraços

rjpepeu

Sabe me dizer o que está errado nesse código.

List linhas = ArrayList;

linha = readBuf.readLine();   
     while(readBuf.readLine()!= null){
     linhas.add(linha);

String[] arrayLinhas = linhas.toArray(new String[10]);
System.out.printl(arrayLinhas[1]);
}

Abs

rjpepeu

Consegui acertar o código, faltavam algumas coisas.

Fui almoçar e quando voltei, consegui.

Valeu…

J

Põ Rafael, podia ter colocado aqui a sua solução hein, já que mostrou anteriormente seu código com erro.
abs e obrigado.

Criado 10 de fevereiro de 2009
Ultima resposta 25 de mar. de 2010
Respostas 7
Participantes 3