Анализ файла CSV, который хранится в переменной ZipEntry / ZipInputStream, с использованием Apache Commons CSV (CSVRecord, CSVFormat и т. Д.) - PullRequest
0 голосов
/ 09 июля 2019

Мне удалось написать код для ДВУХ разных вещей:

1.- распечатать в консоли содержимое файла CSV, который приходит в виде вложения (из веб-службы),преобразование его в ZipInputStream / ZipEntry (он входит в zip-файл)

2.- проанализируйте содержимое файла CSV, находящегося на моем диске, с помощью CSVFormat / CSVRecord / etc, вот код для этого(номер 2):

public static void printCSVFile() throws IOException {
    Reader in = new FileReader("file123.csv");
    Iterable<CSVRecord> records = CSVFormat.DEFAULT.parse(in);
    for (CSVRecord record : records) {
        String columnOne = record.get(0);
        String columnTwo = record.get(1);

    }
}

Теперь то, что я хочу сделать, то же самое, что я делаю в номере 2, за исключением того, что вместо файла CSV, расположенного на моем диске, я хочу использовать этот CSVфайл с первого шага (тот, который находится не на диске, а тот, который находится на zipentry)

Другой, более короткий способ задать мой вопрос: есть ли способ преобразовать переменную ZipEntry, которая содержитФайл CSVp в переменную Reader, чтобы я мог передать его в качестве параметра методу разбора из кода, который я показал ?:

Iterable<CSVRecord> records = CSVFormat.DEFAULT.parse(Reader variable);

РЕДАКТИРОВАТЬ **: Если вы не знаете ответ наПервый вопрос, может быть, более простой вопрос.Что если бы у меня была строка, содержащая строку, которую я хочу проанализировать?Есть ли способ конвертировать из String в Reader?как:

Reader in = new FileReader("line string that I want to parse");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...