Мне нужно получить доступ к количеству строк для обрабатываемого CSV, но кажется, что Super CSV не имеет стандартной опции.
Код ниже, кажется, помогает:
private int getCsvFileTotalRows(InputStream inputStream) throws IOException {
int totalRows = 0;
BOMInputStream bomInputStream = new BOMInputStream(inputStream, BOMS);
Reader fileReader = new BufferedReader(new InputStreamReader(bomInputStream, StandardCharsets.UTF_8));
CsvMapReader csvMapReader = new CsvMapReader(fileReader, CsvPreference.EXCEL_PREFERENCE);
String[] headers = csvMapReader.getHeader(true);
while (csvMapReader.read(headers) != null) {
totalRows++;
}
return totalRows;
}
Но проблема в том, что уже существует код, который создает CsvMapReader на основе inputStream для обработки файла, поэтому добавление вышеуказанного метода не работает, поскольку экземпляр CsvMapReader уже создан с тем же экземпляром inputStream, который я пытаюсь использовать. в методе выше.
Как я могу добиться этого с помощью Super CSV?