JAVA - Deseja-se um aplicativo capaz de:

Tomar os dados em um arquivo de texto contendo os PIBs por estado do Brasil (pib.txt) carregá-los na memória e executar os seguintes itens:

a-) Imprimir na tela a lista de PIB por estado em percentual em relação ao total.

b-) Gerar um arquivo de saída (saida.txt) sumarizando (somando) o PIB por regiões. Será fornecida uma lista de estados por regiões que deve ser lida do arquivo regioes.txt

Já tenho isso:

public static void main(String [] args) {

    // nome do arquivo
    String nomeDoArquivo1 = "pib.txt";

// String nomeDoArquivo2 = “regioes.txt”;

    // linha temporaria
    String linha = null;

/* ------------------------------------- /
/
Abertura de arquivo e loop de leitura /
/
------------------------------------- */
try {
FileReader fileReader = new FileReader(nomeDoArquivo1);

        BufferedReader bufferedReader = new BufferedReader(fileReader);

        // loop por cada linha do arquivo
        while((linha = bufferedReader.readLine()) != null) {
            System.out.println(linha);
        }   

        // feche o arquivo
        bufferedReader.close();         
    }
    catch(FileNotFoundException ex) {
        System.out.println("Arquivo inexistente: '" + nomeDoArquivo1 + "'");                
    }
    catch(IOException ex) {
        System.out.println("Erro lendo o arquivo '" + nomeDoArquivo1 + "'");                  
    }

/* ------------------------------------- /
/
Exemplo de escrita em arquivo /
/
------------------------------------- */
String arquivoDeSaida = “saida.txt”;

    try {

        FileWriter fileWriter = new FileWriter(arquivoDeSaida);

        BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);

        bufferedWriter.write("pib da regiao X = $$$$");
        bufferedWriter.newLine();
        bufferedWriter.write("pib da regiao Y = $$$$");

        // feche o arquivo
        bufferedWriter.close();
    }
    catch(IOException ex) {
        System.out.println("Erro de escrita em '" + arquivoDeSaida + "'");
    }    

}

Qual as 10 primeiras linhas do arquivo.txt.
Olhe o token/coma que separa as informações.
Se for ; vc faz:

linha.split(";");
Vai gerar um vetor com as informações necessárias.
Aí vc cria uma classe que recebe este vetor e distribui as informações.

1 curtida

Olá tudo bem? Murilo_Mendes você conseguiu fazer? Não entendi ainda a resolução deste exercício.