У меня упакованный файл ISO содержит все свои записи в одну строку.
Содержимое файла, например, MTI1XXXXXXMTI2XXXXMTI1XXXXX
Таким образом, здесь всего 3 строки, которые находятся в одной строке.
ISOMsg isoMsg = new ISOMsg();
isoMsg.setPackager(packager);
isoMsg.unpack(filedata);`
isoMsg может распаковать только первую запись MTI1XXXXXX
Здесь MTI1, MTI2, MTI3 - индикатор типа сообщения (MTI), который состоит из 4 цифр.
Если я разделяю эти записи (3 строки) в файле и читаю построчно, как показано ниже
MTI1XXXXXX
MTI2XXXX
MTI1XXXXX
Возвращает мне все записи.
Есть ли способ прочитать все записи, которые находятся в одной строке, с помощью упаковщика JPOS ISO8583 или с помощью стандартного упаковщика?
добавление моего примера кода:
InputStream lis = null;
try {
GenericPackager packager;
packager = new GenericPackager("src/main/resources/BitMapConfig.xml");
lis = new FileInputStream("src/test/resources/isoTestFile");
ISOMsg isoMsg = new ISOMsg();
isoMsg.setPackager(packager);
isoMsg.unpack(lis);
ISOBitMap bitmap = (ISOBitMap) isoMsg.getComponent(-1);
System.out.println("bitmap.getValue::" + bitmap.getValue()); //returns only first records bitmap whoever file contains 3 MTI on single line
} catch (Exception e) {
e.printStackTrace();
}
Я хочу прочитать все это и разделить их в разных файлах.