Amigo…não estou vendo mistério algum aí!!
O arquivo é texto puro, com um registro em cada linha. Basta usar a classe LineNumberReader para ir lendo as linhas.
Aí dependendo dos dois primeiros caracteres da linha, você tem o tipo de layout. Pelo que notei no arquivo, existem 3 tipos de registros: 01, 02 e 04. Aparentemente, o 04 não traz informação alguma, então pode ser ignorado (até porque você não tem a documentação dele).
Os outros, basta você quebrar a linha seguindo o layout.
Peguemos a primeira linha, e quebrando seguindo o layout dos registros de tipo “01”:
01 - tipo de registro
9200702121244002 - número do relatório
200702121244 - data/hora de emissão
7895000000012 - EAN comprador
1006067400004 - EAN fornecedor
004582726000130 - CGC
7895000000012 - EAN estoque
200702110000 - data/hora do estoque
60674 - código interno do fornecedor
149 espaços em branco - filler
E fazer isso para cada linha, e cada tipo de registro.
Não vejo mistério algum…sinceramente… :roll: