У меня есть два массива (открытых для работы с другими коллекциями), и мне нужно вывести файл csv, который определяет, одинаково ли содержимое этих массивов; ячейка за ячейкой сравнение по существу. Массивы берутся из результирующего набора и сортируются. Они выглядят так:
sourceData = (9, Орландо, 28 февраля 668 г., Ллойдтаун, 1 декабря и т. д.)
targetData = (9, Каледон, 19 января, 38, Саут-Харк, 1 декабря и т. д.)
Я попытался взять первое значение первого списка массивов, первое значение второго списка массивов, а затем сравнить их и напечатать в файл CVS.
for (int i = 0; i <sizeOfData; i++) {
if (sourceData.get(i).equals(targetData.get(i))){
validator = ("True");
} else {
validator = ("False");
}
csvFilePrinter.printRecord(sourceData.get(i), targetData.get(i), validator);
}
Вывод выглядит так, как хотелось бы:
9, 9, true
Однако мне нужна следующая строка в файле CSV для отображения:
668, 38, false
так что общая схема такая:
9, 9, true, Orlando, Caledon, false, Feb 28, Jan 19, false
668, 38, false, Lloydtown, South Hark, false, Dec 1, Dec 1, true
где, как только я поместил заголовки и сказал, что второй столбец - «город», в столбце 2 будут отображаться только значения города.
Я пробовал каждый способ записи, но формат CSV-файла неверен, так как каждый раз, когда я использую csvFilePrinter, он записывает в следующую строку. Как написать в следующую колонку? Когда я помещаю то, что хочу, в одну строку массива, я могу заставить это работать, но мои наборы результатов каждый раз будут разными, поэтому я не могу жестко указать, сколько столбцов мне понадобится. Как вы можете писать по строке, а не вниз по столбцу при записи в файл CVS?
Я не вижу решения моей проблемы ни в одном из связанных сообщений...
csvFilePrinter
- класс, библиотека? - person Sergei Sirik   schedule 14.08.2017