mirror of
https://github.com/frosch95/SmartCSV.fx.git
synced 2026-04-11 21:48:22 +02:00
Add the setting changes encoding for CSV file to the preference dialog
(cherry picked from commit 11210b6d8b4584621ef02e7356854ffa9f7f2647)
This commit is contained in:
@@ -35,6 +35,8 @@ public class CSVConfigurable {
|
||||
|
||||
protected CsvPreference csvPreference;
|
||||
|
||||
protected String fileEncoding;
|
||||
|
||||
public CSVConfigurable() {
|
||||
csvPreference = CsvPreference.EXCEL_NORTH_EUROPE_PREFERENCE;
|
||||
}
|
||||
@@ -42,4 +44,9 @@ public class CSVConfigurable {
|
||||
public void setCsvPreference(CsvPreference csvPreference) {
|
||||
this.csvPreference = csvPreference;
|
||||
}
|
||||
|
||||
public void setFileEncoding(String fileEncoding) {
|
||||
this.fileEncoding = fileEncoding;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -34,6 +34,7 @@ import org.supercsv.io.ICsvMapReader;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.nio.charset.Charset;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
@@ -48,7 +49,8 @@ public class CSVFileReader extends CSVConfigurable implements FileReader<CSVMode
|
||||
|
||||
ICsvMapReader mapReader = null;
|
||||
try {
|
||||
mapReader = new CsvMapReader(new java.io.FileReader(file.getAbsoluteFile()), csvPreference);
|
||||
mapReader = new CsvMapReader(new java.io.FileReader(file.getAbsoluteFile(), Charset.forName(fileEncoding)),
|
||||
csvPreference);
|
||||
model = new CSVModel();
|
||||
|
||||
// the header columns are used as the keys to the Map
|
||||
|
||||
@@ -34,6 +34,7 @@ import org.supercsv.io.ICsvMapWriter;
|
||||
import java.io.File;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
import java.nio.charset.Charset;
|
||||
import java.util.Map;
|
||||
|
||||
import static java.util.stream.Collectors.toMap;
|
||||
@@ -53,7 +54,8 @@ public class CSVFileWriter extends CSVConfigurable implements ninja.javafx.smart
|
||||
public void write(File filename) throws IOException {
|
||||
ICsvMapWriter mapWriter = null;
|
||||
try {
|
||||
mapWriter = new CsvMapWriter(new FileWriter(filename.getAbsolutePath()), csvPreference);
|
||||
mapWriter = new CsvMapWriter(new FileWriter(filename.getAbsolutePath(), Charset.forName(fileEncoding)),
|
||||
csvPreference);
|
||||
mapWriter.writeHeader(model.getHeader());
|
||||
|
||||
for(CSVRow row: model.getRows()) {
|
||||
|
||||
Reference in New Issue
Block a user