Чтение файла CSV и запись файла Json на Java - PullRequest
0 голосов
/ 01 мая 2018

Я изменил свой код:

private static final String SAMPLE_CSV_FILE_PATH = "src/main/resources/testCSV.csv";
private static final String OUT_PUT_CSV_PATH = "src/main/resources/outCSV.csv";

public static void main(String[] args) throws IOException {

    Reader reader = Files.newBufferedReader(Paths.get(SAMPLE_CSV_FILE_PATH));
    CSVReader csvReader = new CSVReader(reader);



    List<String[]> records = csvReader.readAll();
    Writer writer = Files.newBufferedWriter(Paths.get(OUT_PUT_CSV_PATH));
    CSVWriter out = new CSVWriter(writer);

    int i = 1;
    int total = 0;
    while(i < records.size()){
        String[] result = records.get(i);
        for(int j =1; j<= Integer.parseInt(result[1]); j++){
            String pattern="00000";
            DecimalFormat myFormatter = new DecimalFormat(pattern);
            String output = myFormatter.format(j);
            writer.append(result[0]+output+"\n");
            total++;
        }
        i++;
    }
    out.flush();
    out.close();
    System.out.println(total);
}

First CSV

Теперь я использую первый CSV-файл для генерации серийного номера, что-то вроде:

NAIS00001
NAIS00002
...
NAIS00625

Затем я записываю эти серийные номера в новый файл CSV. Но есть только один столбец. 6 миллионов данных в одном столбце ... Как мне пометить новый столбец?

1 Ответ

0 голосов
/ 02 мая 2018

Ваш Filewriter не пишет в режиме добавления, поэтому ваш файл перезаписывается каждый раз, когда он проходит внешний цикл. Это не проблема с размером файла.

Попробуйте это:

FileWriter fileWriter = new FileWriter("src/main/resources/testOutPut.json", true);

Документация

...