Ler dados de arquivo txt java e realizar operações em Java

Olá, preciso que meu programa em Java leia um arquivo .txt com 12 linhas, some os valores e armazene o resultado na variável “salario”, para que a partir disso eu consiga executar o resto do código. Alguém pode me ajudar? (Não sei como fazer isso)

 Scanner ler = new Scanner(System.in);
		 
		    System.out.printf("Informe o nome de arquivo texto:\n");
		    String nome = ler.nextLine();
		 
		    System.out.printf("\nConteúdo do arquivo texto:\n");
		    try {
		      FileReader arq = new FileReader(nome);
		      BufferedReader lerArq = new BufferedReader(arq);
		 
		      String linha = lerArq.readLine(); // lê a primeira linha
		// a variável "linha" recebe o valor "null" quando o processo
		// de repetição atingir o final do arquivo texto
		      while (linha != null) {
		        System.out.printf("\n%d", linha);
		        
		 
		        linha = lerArq.readLine(); // lê da segunda até a última linha
		     
		      }

O que vc não consegue fazer? a soma? o código todo? e esse códigão que vc postou aqui? explica essa jogada

Exemplo:

import java.util.List;
import java.util.Scanner;
import java.util.ArrayList;
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.FileNotFoundException;

public class Teste {
	//private static final String pathArquivo = "C:/Users/JFSJUNIOR/Desktop/teste/numerais.txt";
	public static void main(String[] args){
		int soma = 0;
		int produto = 1;
		String nomeArquivo;
		Scanner leitor = new Scanner(System.in);
		List<String> numeros = new ArrayList<>();
		
		System.out.print("Caminho do arquivo: ");
		nomeArquivo = leitor.nextLine();
		
		try{
			FileReader leitorArquivo = new FileReader(nomeArquivo);
			BufferedReader buffer = new BufferedReader(leitorArquivo);
			
			String linha = buffer.readLine();
			
			while(linha != null){
				numeros.add(linha);
				
				linha = buffer.readLine();
			}
			leitorArquivo.close();
		}catch(IOException ioex){
			System.out.println("ERRO: " + ioex.getMessage());
		}
		
		for(String numero : numeros){
			soma += Integer.valueOf(numero).intValue();
			produto *= Integer.valueOf(numero).intValue();
		}
		
		System.out.println("Soma: " + soma + " Produto: " + produto);
	}
}

Rodando…

image

Foi a soma que eu não tava conseguindo

Obrigado. Você tem algum contato para me explicar melhor? Passei o dia todo tentando fazer e quero entender um pouco mais sobre. Irei marcar aqui como questão solucionada

O que você não entendeu? Eu pesquisei um pouco e achei o seguinte artigo: Devmedia - Como Ler Dados de um Arquivo Txt. Também fiz uso da documentação do Java: Oracle Docs - Java.

O seu código nem vai compilar, muito menos executar.
O método nextLine() retorna um objeto do tipo String e sua variável nome foi declarada como sendo do tipo Double.

No código eu já tinha alterado, mas esqueci de alterar aqui

O que aconteceu nessa linha? no for sempre uso " ; " e nessa linha tem " : "

Pelo que entendi ele tem que converter o objeto em um objeto inteiro para depois em um int, correto?
E o soma “+=” é o meso que “soma = soma + Integer.valueOf(numero).intValue();” ?

Essa é a sintaxe do enhanced for.

Você escrever:

for (String numero : numeros) {

Equivale a escrever isso aqui:

for (int i = 0; i < numeros.size(); i++) {
    String numero = numeros.get(i);

Ou então escrever isso aqui:

Iterator<String> it = numeros.iterator();
while (it.hasNext()) {
    String numero = it.next();

Obrigado irmão