У меня проблема при использовании метода createReader(java.lang.String name, java.io.Reader in)
в StreamFactory
в BeanIO Framework .
Когда я делаю что-то вроде этого:
File file = new File("data.txt");
BeanReader in = factory.createReader("mapping", file);
List list = new ArrayList();
Object record = null;
while ((record = in.read()) != null) {
list.add(record);
}
Все работает нормально, и я получаю два объекта из цикла в моем списке.
Однако, когда я пытаюсь достичь тех же результатов, просто передав строку в in.read()
, я получаю исключение «Недопустимая запись» из in.read()
, потому что оно думает, что обе строки файла представляют собой одну строку и, следовательно, это недопустимая запись. :
String str = "H AC EXT TEST 1222\r\nD 01202011 TEST CO-10901 6 6.5 Lost";
Reader reader = new StringReader(str);
BeanReader in = factory.createReader("mapping", reader);
List list = new ArrayList();
Object record = null;
while ((record = in.read()) != null) {
list.add(record);
}
Кто-нибудь знает, что здесь может быть не так?
(BeanIO-отображение в порядке, я проверил)