Sou novata em java e estou com dificuldades para resolver o seguinte problema:
Tenho vários valores decimais em um arquivo csv, preciso pegar esses valores colocar num array double e efetuar cálculos com os mesmo.
Qdo faço a conversão para double aparece: java.lang.NumberFormatException: For input string: “5.0,3.6,1.4,0.2,1”.
Qdo uso replace para retirar as vírgulas mostra multiple points
Alguém pode dar uma força?
public void Lercsv() throws IOException
{
BufferedReader reader = new BufferedReader(
new InputStreamReader(new FileInputStream(caminho)));
String linha = null;
while ((linha = reader.readLine()) != null) {
Todos=linha;
}
double [] b =new double[Todos.length()];
for(int i=0; i<Todos.length();i++)
{
b[i]=Double.valueOf(Todos)).doubleValue(); // aqui dá erro
}
}
Obrigada Mike pela dica, no entanto ainda estou com problemas pois só funciona qdo inicializo os valores diretamente no vetor.
Qdo informo ao vetor onde estão os decimais da erro
BufferedReader reader = new BufferedReader(
new InputStreamReader(new FileInputStream(caminho)));
String linha = null;
int Linhas=0;
while ((linha = reader.readLine()) != null) {
Todos.add(linha);
Dados[Linhas]=linha.split(",");
Linhas ++
}
Passos:
1-Ler o arquivo
2-Concatenar em uma string
3-Depois que o while acabar, use o split na string e atribua o retorno a um vetor String
4-Fazer um for para converter o array de String em um array de double