Проблема с BeanIO и методом createReader - PullRequest
0 голосов
/ 30 января 2012

У меня проблема при использовании метода 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-отображение в порядке, я проверил)

...