File tree Expand file tree Collapse file tree 2 files changed +24
-1
lines changed
main/java/org/metafacture/csv
test/java/org/metafacture/csv Expand file tree Collapse file tree 2 files changed +24
-1
lines changed Original file line number Diff line number Diff line change 42
42
public final class CsvDecoder extends DefaultObjectPipe <String , StreamReceiver > {
43
43
44
44
private static final char DEFAULT_SEP = ',' ;
45
- private final char separator ;
45
+ private char separator ;
46
46
47
47
private String [] header = new String [0 ];
48
48
private int count ;
49
49
private boolean hasHeader ;
50
50
51
+ /**
52
+ * @param separator to split lines
53
+ */
54
+ public CsvDecoder (final String separator ) {
55
+ super ();
56
+ this .separator = separator .charAt (0 );
57
+ }
58
+
51
59
/**
52
60
* @param separator to split lines
53
61
*/
@@ -109,4 +117,5 @@ public void setHasHeader(final boolean hasHeader) {
109
117
this .hasHeader = hasHeader ;
110
118
}
111
119
120
+ public void setSeparator (final String separator ) { this .separator = separator .charAt (0 ); }
112
121
}
Original file line number Diff line number Diff line change @@ -74,4 +74,18 @@ public void testQuoted() {
74
74
ordered .verify (receiver ).endRecord ();
75
75
}
76
76
77
+ @ Test
78
+ public void testTabSeparated () {
79
+
80
+ decoder .setSeparator ("\t " );
81
+
82
+ decoder .process ("a\t b\t c" );
83
+ final InOrder ordered = inOrder (receiver );
84
+ ordered .verify (receiver ).startRecord ("1" );
85
+ ordered .verify (receiver ).literal ("h1" , "a" );
86
+ ordered .verify (receiver ).literal ("h2" , "b" );
87
+ ordered .verify (receiver ).literal ("h3" , "c" );
88
+ ordered .verify (receiver ).endRecord ();
89
+ }
90
+
77
91
}
You can’t perform that action at this time.
0 commit comments