Передать значения String[] в строку[] значений

#java #string #opencsv

#java #строка #opencsv

Вопрос:

У меня есть следующий код, в котором файл .csv считывается построчно и сохраняется в String[] nextline , где следующая строка [i] заполняется соответствующим содержимым анализируемого файла. У меня нет проблем с чтением файла .csv, но у меня есть проблемы с сохранением их в другой строке [], поскольку System.out.println () выдает мне следующий результат для всех строк:

 Nextline[1]=Jan  4, 2011 18:33:15.988422000 / predata=null / Nextline[4]=54 / size:0
  

Как вы можете видеть, Strin[] имеет значение null, почему содержимое не передается?
Заранее спасибо

 public class Amostra {
    int[] id = new int[20000];
    String[] predata = new String[20000];
    int[] size = new int[20000];

    Amostra(String namefile) throws FileNotFoundException, IOException {
        Csv2Array(namefile);
    }

    private void Csv2Array(String newfile) throws FileNotFoundException, IOException 
    {
        String[] nextline;
        int j = 0;
        int i = 0;
        CSVReader reader = new CSVReader(new FileReader(newfile), ';', ''', 1);
        while((nextline = reader.readNext()) != null){
            predata[i] = nextline[1];
            size[i] = Integer.parseInt(nextline[4]);
            id[i] = i;
            i  ;
            System.out.println("Nextline[1]="   nextline[1]   
                    " / predata="   predata[i]   
                    " / Nextline[4]="   nextline[4]   
                    " / size:"   size[i]   "n");
        }
    }
}
  

Комментарии:

1. посмотрите на переформатированный код. Не проще ли читать? Если вы используете согласованное форматирование, вы обнаружите, что ошибки легче обнаружить.

Ответ №1:

Ваш i оператор расположен перед System.out , так что вы фактически печатаете следующую строку (еще не проанализированную). Вам следует переместить i строку после System.out

Комментарии:

1. …Как я это пропустил? Я столько всего перепробовал … мне нужно поспать. Спасибо 😉

2. 1 — Вот и все! Даже не нужно смотреть на CSVReader API.