mirror of
https://github.com/frosch95/SmartCSV.fx.git
synced 2026-04-11 21:48:22 +02:00
Update dependencies and Gradle wrapper; bump JavaFX to 25 and Groovy to 5.0.2
This commit is contained in:
@@ -26,7 +26,8 @@
|
||||
|
||||
package ninja.javafx.smartcsv.csv;
|
||||
|
||||
import de.siegmar.fastcsv.reader.NamedCsvReader;
|
||||
import de.siegmar.fastcsv.reader.CsvReader;
|
||||
import de.siegmar.fastcsv.reader.NamedCsvRecord;
|
||||
import ninja.javafx.smartcsv.FileReader;
|
||||
import ninja.javafx.smartcsv.fx.table.model.CSVModel;
|
||||
|
||||
@@ -49,7 +50,13 @@ public class CSVFileReader extends CSVConfigurable implements FileReader<CSVMode
|
||||
model = new CSVModel();
|
||||
|
||||
// the header columns are used as the keys to the Map
|
||||
var header = csv.getHeader().toArray(new String[csv.getHeader().size()]);
|
||||
var firstRow = csv.stream().findFirst();
|
||||
|
||||
if (firstRow.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
var header = firstRow.get().getHeader().toArray(String[]::new);
|
||||
model.setHeader(header);
|
||||
|
||||
csv.forEach(csvRow -> {
|
||||
@@ -66,14 +73,14 @@ public class CSVFileReader extends CSVConfigurable implements FileReader<CSVMode
|
||||
}
|
||||
}
|
||||
|
||||
private NamedCsvReader getNamedCsvReader(File file) throws IOException {
|
||||
var builder = NamedCsvReader.builder()
|
||||
private CsvReader<NamedCsvRecord> getNamedCsvReader(File file) throws IOException {
|
||||
var builder = CsvReader.builder()
|
||||
.fieldSeparator(csvPreference.delimiterChar());
|
||||
if (csvPreference.quoteChar() != null) {
|
||||
builder.quoteCharacter(csvPreference.quoteChar());
|
||||
}
|
||||
|
||||
return builder.build(file.toPath(), Charset.forName(fileEncoding));
|
||||
return builder.ofNamedCsvRecord(file.toPath(), Charset.forName(fileEncoding));
|
||||
}
|
||||
|
||||
public CSVModel getContent() {
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
package ninja.javafx.smartcsv.csv;
|
||||
|
||||
import de.siegmar.fastcsv.writer.CsvWriter;
|
||||
import de.siegmar.fastcsv.writer.QuoteStrategy;
|
||||
import de.siegmar.fastcsv.writer.QuoteStrategies;
|
||||
import ninja.javafx.smartcsv.fx.table.model.CSVModel;
|
||||
import ninja.javafx.smartcsv.fx.table.model.CSVRow;
|
||||
|
||||
@@ -52,9 +52,9 @@ public class CSVFileWriter extends CSVConfigurable implements ninja.javafx.smart
|
||||
@Override
|
||||
public void write(File filename) throws IOException {
|
||||
try (var writer = getCsvWriter(filename)){
|
||||
writer.writeRow(model.getHeader());
|
||||
writer.writeRecord(model.getHeader());
|
||||
for(CSVRow row: model.getRows()) {
|
||||
writer.writeRow(convertMapFromModel(row));
|
||||
writer.writeRecord(convertMapFromModel(row));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -63,7 +63,7 @@ public class CSVFileWriter extends CSVConfigurable implements ninja.javafx.smart
|
||||
var writer = CsvWriter.builder().fieldSeparator(csvPreference.delimiterChar());
|
||||
if (csvPreference.quoteChar() != null) {
|
||||
writer.quoteCharacter(csvPreference.quoteChar());
|
||||
writer.quoteStrategy(QuoteStrategy.ALWAYS);
|
||||
writer.quoteStrategy(QuoteStrategies.ALWAYS);
|
||||
}
|
||||
|
||||
return writer.build(filename.toPath(), Charset.forName(fileEncoding));
|
||||
|
||||
Reference in New Issue
Block a user