private File csv;
private Access access;
private boolean processAll;
+ private char delimiter = ',';
public CSV(Access access, File file) {
this.access = access;
processAll = false;
}
+ public CSV setDelimiter(char delimiter) {
+ this.delimiter = delimiter;
+ return this;
+ }
+
public String name() {
return csv.getName();
}
escape = true;
}
break;
- case ',':
- if(quotes) {
- sb.append(c);
+ case 'n':
+ if(escape) {
+ sb.append("\\n");
+ escape=false;
} else {
- row.add(sb.toString());
- sb.setLength(0);
+ sb.append(c);
}
break;
default:
- sb.append(c);
+ if(delimiter==c) {
+ if(quotes) {
+ sb.append(c);
+ } else {
+ row.add(sb.toString());
+ sb.setLength(0);
+ }
+ } else {
+ sb.append(c);
+ }
}
}
if(sb.length()>0 || c==',') {
if(first) {
first = false;
} else {
- ps.append(',');
+ ps.append(delimiter);
}
if(o == null) {
} else if(o instanceof String[]) {
}
public void close() {
+ flush();
ps.close();
}