public CsvConfiguration suggestCsvConfiguration(final List<String> columnNames) throws IllegalStateException { final byte[] sample = getSampleBuffer(); final String encoding = suggestEncoding(sample); return suggestCsvConfiguration(sample, encoding, columnNames); }
/** * Auto-detects the file encoding of a file * * @return */ public String suggestEncoding() { return suggestEncoding(getSampleBuffer()); }
/** * Auto-detect the {@link CsvConfiguration} of a CSV style data file, * providing the encoding externally. * * @param encoding * @return * @throws IllegalStateException * if an error occurs during auto-detection */ public CsvConfiguration suggestCsvConfiguration(final String encoding, final List<String> columnNames) throws IllegalStateException { final byte[] sample = getSampleBuffer(); return suggestCsvConfiguration(sample, encoding, columnNames); }
private CsvConfiguration autoDetectConfiguration(Resource resource) { try { final CsvConfigurationDetection detection = new CsvConfigurationDetection(resource); return detection.suggestCsvConfiguration(); } catch (Exception e) { logger.warn("Failed to detect CSV configuration for file: " + resource, e); return new CsvConfiguration(); } }
/** * Auto-detects the {@link CsvConfiguration} of a CSV style data file. * * @return * @throws IllegalStateException * if an error occurs during auto-detection */ public CsvConfiguration suggestCsvConfiguration() throws IllegalStateException { return suggestCsvConfiguration(null); }
private CsvConfiguration suggestCsvConfiguration(final byte[] sample, final String encoding, final List<String> columnNames) throws IllegalStateException { final char[] sampleChars = readSampleBuffer(sample, encoding); if (indexOf('\n', sampleChars) == -1 && indexOf('\r', sampleChars) == -1) { throw new IllegalStateException("No newline in first " + sampleChars.length + " chars");
final CsvConfigurationDetection detection = new CsvConfigurationDetection(resource); final CsvConfiguration csvConfiguration = detection.suggestCsvConfiguration(); return new CsvDatastore(datastoreName, resource, csvConfiguration); case EXCEL: