Rafael, tudo bem?
Cara, fiz um código utilizando a classe Scanner para ler o arquivo txt.
e fico dessa maneira:
int i = 0;
Scanner reader = new Scanner(new File("teste"));
List lista1 = new ArrayList();
while(reader.hasNextLine()) {
String linha = reader.nextLine();
if(lista1.isEmpty()) {
/*
* Bloco de código para transformar
* a linha em questão em um tipo de dado específico
* e atribuir a um nova variavel (no caso "linhaNova")
*/
lista1.add(linhaNova);
i++;
}else {
/*
* Bloco de código para transformar
* a linha em questão em um tipo de dado específico
* e atribuir a um nova variavel (no caso "linhaNova")
*/
if(lista1.get(i-1).getClass() != linhaNova.getClass()) {
lista1.add(linhaNova);
}
}
if(lista1.size()== 3) {
System.out.println(lista1);
//ou
/*
* Bloco de código para redirecionar o conjunto contido na Lista
* para outro arquivo ou estrutura de dado
*/
lista1.clear();
i=0;
}
}
reader.close();
É necessário saber antes quais são os tipos de dados que estão sendo representados no arquivo, pois, sendo txt o programa Java vai ler tudo como String. Claro, que, se você tiver algum algoritmo para meio que prever qual dado específico a linha tiver vai resolver de boa, e então, só fazer o parsing para a classe Wrapper que algoritmo escolher. Entretanto, se não tiver esse algoritmo sugiro você substituir o arquivo txt por um arquivo "properties" que apresenta linhas contendo chave/valor facilitando bastante a lógica de comparação de tipos.