Мне удалось написать код для ДВУХ разных вещей:
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");