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
[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.