CSVWriter добавляет пустую строку между каждой строкой - PullRequest
0 голосов
/ 04 апреля 2020

Я пытаюсь записать некоторые данные в CSV-файл, но некоторые из них пишутся в конце строки, и между каждой строкой есть пробел. Я также попытался собрать данные в ArrayList строк, а затем использовать метод csvWriter.writeAll, но он дает мне тот же результат.

try(FileWriter fileWriter1 = new FileWriter(csvPath)){
        CSVWriter csvWriter = new CSVWriter(fileWriter1);
        //Impostazione di Git e della repo.
        Git git = Git.open(new File(Cpath));

        Repository repository = FileRepositoryBuilder.create(new File(Cpath));
        String repo = String.valueOf(repository);
        logger.info(repo);
        List<Ref> branches = git.branchList().call();
        for (Ref ref : branches)
        {

            logger.info(ref.getName());

        }

        Iterable<RevCommit> commits = git.log().all().call();

        for (RevCommit revCommit : commits) { //itero tutti i commit.

            String pattern = "MM/dd/yyyy HH:mm:ss";
            DateFormat df = new SimpleDateFormat(pattern);
            String date = df.format(revCommit.getAuthorIdent().getWhen());

            String[] columns = {date, revCommit.getFullMessage()};

            csvWriter.writeNext(new String[]{date, revCommit.getFullMessage()});



        }

        csvWriter.flush();
        csvWriter.close();

    }

1 Ответ

1 голос
/ 04 апреля 2020

Формат CSV слабо соответствует RF C 4180. Но большинство авторов cvs постоянно используют конец файла \r\n (соглашение MS / DOS).

Когда вы читаете это с помощью редактора (или терминал), который ожидает только один \n для конца строки (Unix соглашение), вы неправильно видите дополнительные строки, когда файл совершенно корректен.


Ссылка: Википедия

...