From 61ddc6fa03ff8b19ec98e293385a5d97d7655591 Mon Sep 17 00:00:00 2001 From: Alessandro Iezzi Date: Tue, 13 Jun 2023 18:12:33 +0200 Subject: Rename CSVUtils in CSVParser --- .../java/it/alessandroiezzi/csv/CSVParser.java | 56 ++++++++++++++++++++++ src/main/java/it/alessandroiezzi/csv/CSVUtils.java | 56 ---------------------- 2 files changed, 56 insertions(+), 56 deletions(-) create mode 100644 src/main/java/it/alessandroiezzi/csv/CSVParser.java delete mode 100644 src/main/java/it/alessandroiezzi/csv/CSVUtils.java diff --git a/src/main/java/it/alessandroiezzi/csv/CSVParser.java b/src/main/java/it/alessandroiezzi/csv/CSVParser.java new file mode 100644 index 0000000..925e428 --- /dev/null +++ b/src/main/java/it/alessandroiezzi/csv/CSVParser.java @@ -0,0 +1,56 @@ +/* See LICENSE file for copyright and license details. */ + +package it.alessandroiezzi.csv; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class CSVParser { + private final InputStream csvFile; + + public CSVUtils(InputStream csvFile) { + this.csvFile = csvFile; + } + + public List> parse() throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(csvFile)); + List> records = new ArrayList<>(); + String line; + String[] header = null; + + // Legge l'intestazione + if ((line = br.readLine()) != null) { + line = line.endsWith(COMMA_DELIMITER) ? line.substring(0, line.length() - 1) : line; + header = line.replace("\"", "").split(COMMA_DELIMITER); + } + + if (header == null || header.length == 0) + return records; + + // Procede a leggere i dati + while ((line = br.readLine()) != null) { + if (line.trim().isEmpty()) continue; /* Skip emtpy lines */ + + String[] values = line.replace("\"", "").split(COMMA_DELIMITER, -1); + + Map data = new HashMap<>(); + if (values.length != header.length) { + throw new RuntimeException("Il numero di campi definiti nella testata non corrisponde con le colonne dei dati"); + } + for (int j = 0; j < header.length; j++) { + data.put(header[j], values[j]); + } + records.add(data); + } + + return records; + } + + private final String COMMA_DELIMITER = ";"; +} diff --git a/src/main/java/it/alessandroiezzi/csv/CSVUtils.java b/src/main/java/it/alessandroiezzi/csv/CSVUtils.java deleted file mode 100644 index cf0d585..0000000 --- a/src/main/java/it/alessandroiezzi/csv/CSVUtils.java +++ /dev/null @@ -1,56 +0,0 @@ -/* See LICENSE file for copyright and license details. */ - -package it.alessandroiezzi.csv; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class CSVUtils { - private final InputStream csvFile; - - public CSVUtils(InputStream csvFile) { - this.csvFile = csvFile; - } - - public List> parse() throws IOException { - BufferedReader br = new BufferedReader(new InputStreamReader(csvFile)); - List> records = new ArrayList<>(); - String line; - String[] header = null; - - // Legge l'intestazione - if ((line = br.readLine()) != null) { - line = line.endsWith(COMMA_DELIMITER) ? line.substring(0, line.length() - 1) : line; - header = line.replace("\"", "").split(COMMA_DELIMITER); - } - - if (header == null || header.length == 0) - return records; - - // Procede a leggere i dati - while ((line = br.readLine()) != null) { - if (line.trim().isEmpty()) continue; /* Skip emtpy lines */ - - String[] values = line.replace("\"", "").split(COMMA_DELIMITER, -1); - - Map data = new HashMap<>(); - if (values.length != header.length) { - throw new RuntimeException("Il numero di campi definiti nella testata non corrisponde con le colonne dei dati"); - } - for (int j = 0; j < header.length; j++) { - data.put(header[j], values[j]); - } - records.add(data); - } - - return records; - } - - private final String COMMA_DELIMITER = ";"; -} -- cgit v1.2.3