Создайте куски CSV из набора результатов - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь перебрать набор результатов и создать куски CSV по номерам строк.Записывающий цикл, вызывающий запись, остановлен, поэтому только первый файл заполняется данными.

Есть идеи?Спасибо.

PreparedStatement stmt = con.prepareStatement(query);
ResultSet rs = stmt.executeQuery();

int counter = 0;
int i = 0;
Path myPath = Paths.get(filname + "_" + i++ + ".csv");
CSVWriter writer = new CSVWriter(Files.newBufferedWriter(myPath, StandardCharsets.UTF_8),
        SEPARATOR_CHAR, CSVWriter.NO_QUOTE_CHARACTER, CSVWriter.NO_ESCAPE_CHARACTER,
        CSVWriter.DEFAULT_LINE_END);

while (rs.next()) {
    counter++;

    while (counter == 10) {
        System.out.println(counter);
        writer.writeAll(rs, true);
        writer.flush();
        writer.close();

        myPath = Paths.get(filname + "_" + i++ + ".csv");
        writer = new CSVWriter(Files.newBufferedWriter(myPath, StandardCharsets.UTF_8),
            SEPARATOR_CHAR, CSVWriter.NO_QUOTE_CHARACTER, CSVWriter.NO_ESCAPE_CHARACTER,
            CSVWriter.DEFAULT_LINE_END);
        counter = 0;
    }
}
...