|
24 | 24 | import org.springframework.batch.item.file.FlatFileItemReader; |
25 | 25 | import org.springframework.batch.item.file.separator.DefaultRecordSeparatorPolicy; |
26 | 26 | import org.springframework.batch.item.file.transform.DefaultFieldSet; |
| 27 | +import org.springframework.batch.item.file.transform.DelimitedLineTokenizer; |
27 | 28 | import org.springframework.batch.item.file.transform.FieldSet; |
28 | 29 | import org.springframework.batch.item.file.transform.FieldSetFactory; |
29 | 30 | import org.springframework.batch.item.file.transform.Range; |
@@ -85,6 +86,44 @@ public void testSimpleDelimited() throws Exception { |
85 | 86 | assertNull(reader.read()); |
86 | 87 | } |
87 | 88 |
|
| 89 | + @Test |
| 90 | + public void testSimpleDelimitedWithWhitespaceCharacter() throws Exception { |
| 91 | + FlatFileItemReader<Foo> reader = new FlatFileItemReaderBuilder<Foo>() |
| 92 | + .name("fooReader") |
| 93 | + .resource(getResource("1 2 3")) |
| 94 | + .delimited() |
| 95 | + .delimiter(" ") |
| 96 | + .names(new String[] {"first", "second", "third"}) |
| 97 | + .targetType(Foo.class) |
| 98 | + .build(); |
| 99 | + |
| 100 | + reader.open(new ExecutionContext()); |
| 101 | + Foo item = reader.read(); |
| 102 | + assertEquals(1, item.getFirst()); |
| 103 | + assertEquals(2, item.getSecond()); |
| 104 | + assertEquals("3", item.getThird()); |
| 105 | + assertNull(reader.read()); |
| 106 | + } |
| 107 | + |
| 108 | + @Test |
| 109 | + public void testSimpleDelimitedWithTabCharacter() throws Exception { |
| 110 | + FlatFileItemReader<Foo> reader = new FlatFileItemReaderBuilder<Foo>() |
| 111 | + .name("fooReader") |
| 112 | + .resource(getResource("1\t2\t3")) |
| 113 | + .delimited() |
| 114 | + .delimiter(DelimitedLineTokenizer.DELIMITER_TAB) |
| 115 | + .names(new String[] {"first", "second", "third"}) |
| 116 | + .targetType(Foo.class) |
| 117 | + .build(); |
| 118 | + |
| 119 | + reader.open(new ExecutionContext()); |
| 120 | + Foo item = reader.read(); |
| 121 | + assertEquals(1, item.getFirst()); |
| 122 | + assertEquals(2, item.getSecond()); |
| 123 | + assertEquals("3", item.getThird()); |
| 124 | + assertNull(reader.read()); |
| 125 | + } |
| 126 | + |
88 | 127 | @Test |
89 | 128 | public void testAdvancedDelimited() throws Exception { |
90 | 129 | final List<String> skippedLines = new ArrayList<>(); |
|
0 commit comments