if (c == FIELD_SEPARATOR) { if (!inQuotedField) { // ignore we are quoting addField(row, line, fieldStart, i, inQuotedField); fieldStart = i + 1; if (inQuotedField) { if (i + 1 == len || line.charAt(i + 1) == FIELD_SEPARATOR) { // we are already quoting - peek to see if this is the end of the field addField(row, line, fieldStart, i, inQuotedField); fieldStart = i + 2; addField(row, line, fieldStart, len, inQuotedField);
/** * Converts string to array, for the {@link #convertValueToArray(Object)} method. * By default, the string is converted into an array using {@link jodd.util.CsvUtil}. */ protected String[] convertStringToArray(String value) { return CsvUtil.toStringArray(value); }
@Test void testToCsv() { assertEquals("a", CsvUtil.toCsvString("a")); assertEquals("a,b", CsvUtil.toCsvString("a", "b")); assertEquals("a,b,", CsvUtil.toCsvString("a", "b", "")); assertEquals("a,\" b \"", CsvUtil.toCsvString("a", " b ")); assertEquals("a,b,\"jo,e\"", CsvUtil.toCsvString("a", "b", "jo,e")); assertEquals("a,b,\"\"\"some\"\"r\"", CsvUtil.toCsvString("a", "b", "\"some\"r")); assertEquals("1997,Ford,E350,\"Super, luxurious truck\"", CsvUtil.toCsvString("1997", "Ford", "E350", "Super, luxurious truck")); assertEquals("1997,Ford,E350,\"Super \"\"luxurious\"\" truck\"", CsvUtil.toCsvString("1997", "Ford", "E350", "Super \"luxurious\" truck")); assertEquals("1,,2", CsvUtil.toCsvString(Integer.valueOf(1), null, Integer.valueOf(2))); assertEquals("\"a\nb\"", CsvUtil.toCsvString("a\nb")); }
/** * Converts string to array, for the {@link #convertValueToArray(Object)} method. * By default, the string is converted into an array using {@link jodd.util.CsvUtil}. */ protected String[] convertStringToArray(final String value) { return CsvUtil.toStringArray(value); }
if (c == FIELD_SEPARATOR) { if (!inQuotedField) { // ignore we are quoting addField(row, line, fieldStart, i, inQuotedField); fieldStart = i + 1; if (inQuotedField) { if (i + 1 == len || line.charAt(i + 1) == FIELD_SEPARATOR) { // we are already quoting - peek to see if this is the end of the field addField(row, line, fieldStart, i, inQuotedField); fieldStart = i + 2; addField(row, line, fieldStart, len, inQuotedField);
value = CsvUtil.toStringArray(value.toString());
if (c == FIELD_SEPARATOR) { if (!inQuotedField) { // ignore we are quoting addField(row, line, fieldStart, i, inQuotedField); fieldStart = i + 1; if (inQuotedField) { if (i + 1 == len || line.charAt(i + 1) == FIELD_SEPARATOR) { // we are already quoting - peek to see if this is the end of the field addField(row, line, fieldStart, i, inQuotedField); fieldStart = i + 2; addField(row, line, fieldStart, len, inQuotedField);
@Test void testFromCsv() { assertStringArray(CsvUtil.toStringArray("a"), "a"); assertStringArray(CsvUtil.toStringArray("a,b"), "a", "b"); assertStringArray(CsvUtil.toStringArray("a, b "), "a", " b "); assertStringArray(CsvUtil.toStringArray("a,\" b \""), "a", " b "); assertStringArray(CsvUtil.toStringArray("a,b,"), "a", "b", ""); assertStringArray(CsvUtil.toStringArray("a,b,\"jo,e\""), "a", "b", "jo,e"); assertStringArray(CsvUtil.toStringArray("a,b,\"\"\"some\"\"r\""), "a", "b", "\"some\"r"); assertStringArray(CsvUtil.toStringArray("1997,Ford,E350,\"Super, luxurious truck\""), "1997", "Ford", "E350", "Super, luxurious truck"); assertStringArray(CsvUtil.toStringArray("1997,Ford,E350,\"Super \"\"luxurious\"\" truck\""), "1997", "Ford", "E350", "Super \"luxurious\" truck"); assertStringArray(CsvUtil.toStringArray("\"a\nb\""), "a\nb"); assertStringArray(CsvUtil.toStringArray("a,,b"), "a", "", "b"); }
if (c == FIELD_SEPARATOR) { if (!inQuotedField) { // ignore we are quoting addField(row, line, fieldStart, i, inQuotedField); fieldStart = i + 1; if (inQuotedField) { if (i + 1 == len || line.charAt(i + 1) == FIELD_SEPARATOR) { // we are already quoting - peek to see if this is the end of the field addField(row, line, fieldStart, i, inQuotedField); fieldStart = i + 2; addField(row, line, fieldStart, len, inQuotedField);
value = CsvUtil.toStringArray(value.toString());
/** * Converts string to array, for the {@link #convertValueToArray(Object)} method. * By default, the string is converted into an array using {@link jodd.util.CsvUtil}. */ protected String[] convertStringToArray(final String value) { return CsvUtil.toStringArray(value); }
value = CsvUtil.toStringArray(value.toString());