Converter String para Int

Estou tentando converter uma String que vem do arquivo de texto e coloca-la em um vetor, mas so da erro.

[code]String recebeProd = funcoes.abrir(“produtos.txt”);
String[] dados = recebeProd.split("\n");
int[] cod = new int[dados.length];
for(int a = 0; a < dados.length; a++){

        String[] linhas_prod = dados[a].split(",");
        cod[a] = Integer.parseInt(linhas_prod[a]);
        
    }
    System.out.println(cod[0]);[/code]

ERRO:
Exception in thread “main” java.lang.NumberFormatException: For input string: “1000”
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:492)
at java.lang.Integer.parseInt(Integer.java:527)
at teste.main(teste.java:19)
Java Result: 1

Bem vindo ao fórum!

Pode tentar usar expressões regulares, pra forçar que fique apenas números.

        String recebeProd = funcoes.abrir("produtos.txt");
        String[] dados = recebeProd.split("\n");
        int[] cod = new int[dados.length];
        for(int a = 0; a < dados.length; a++){
            
            String[] linhas_prod = dados[a].split(",");
            cod[a] = Integer.parseInt(linhas_prod[a].replaceAll("[^0-9]+",""));
            
        }
        System.out.println(cod[0]);

Use a tag code pra ficar mais fácil de ler o código.
Manual do iniciante … http://www.guj.com.br/java/50115-voce-e-novo-no-guj-vai-criar-um-topico-e-colar-seu-codigo-fonte-leia-aqui-antes-por-favor

Sua lógica tá certa? Se não resolver posta em anexo uma amostra do teu txt

Mesmo forçando com a expressão regular esta com problema.

Abaixo estou tentando pegar apenas o primeiro índice p armazenar no cod mas n esta dando certo.

String recebeProd = funcoes.abrir("produtos.txt");
        String[] dados = recebeProd.split("\n");
        int[] cod = new int[dados.length];
        for(int a = 0; a < dados.length; a++){            
            String[] linhas_prod = dados[a].split(",");
            for(int b = 0; b < 1; b++){
                //cod[b] = Integer.parseInt(linhas_prod[0].replaceAll("[^0-9]+",""));                
                cod[b] = Integer.parseInt(linhas_prod[0]);
            }            
        }
        System.out.println(cod[0]);
    }   

[quote=asousaj]
Sua lógica tá certa? Se não resolver posta em anexo uma amostra do teu txt[/quote]
Perguntei porque acho que tua lógica tá errada.
Posta ai um pedaço do teu arquivo txt.

        String recebeProd = funcoes.abrir("produtos.txt");
        String[] dados = recebeProd.split("\n");
        int[] cod = new int[dados.length];
        for(int a = 0; a < dados.length; a++){
            
            String[] linhas_prod = dados[a].split(",");
            cod[a] = Integer.parseInt(linhas_prod[0].replaceAll("[^0-9]+",""));
            
        }
        System.out.println(cod[0]);

Segue o exemplo menos “capado”, [color=red]não fiz tratamento corretos dos possíveis erros e coisas do tipo[/color].
Considerando file.txt

100,23,55
3a2123,4343,423423
5 3,243423,234

Classe de teste

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class Teste {
	public void testing() throws IOException {
		String recebeProd = readFile("/home/adriano/testes/file.txt");
		String[] dados = recebeProd.split("\n");
		int[] cod = new int[dados.length];
		for (int a = 0; a < dados.length; a++) {
			String[] linhas_prod = dados[a].split(",");
			cod[a] = Integer.parseInt(linhas_prod[0].replaceAll("[^0-9]+", ""));
			System.out.println(cod[a]);
		}
		
	}

	private String readFile(String file) throws IOException {
		BufferedReader reader = new BufferedReader(new FileReader(file));
		String line = null;
		StringBuilder stringBuilder = new StringBuilder();
		String ls = System.getProperty("line.separator");
		while ((line = reader.readLine()) != null) {
			stringBuilder.append(line);
			stringBuilder.append(ls);
		}
		reader.close();
		return stringBuilder.toString();
	}

	public static void main(String[] args) {
		Teste t = new Teste();
		try {
			t.testing();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

Saída:

100 32123 53

Cuidado para que a ultima linha do arquivo não tenha apenas a “quebra de linha”.
Essas “coisinhas” que não considerei foi pra deixar o mais básico possível e fica pra você praticar.

Muito obrigado asousaj. Vou usar seu algorítimo e ver no que dar. Vlw msm.