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