Eu tenho um arquivo sequencial txt da seguinte forma
210110002.12340002.11420002.0401
210120001.41470003.54140002.0753
…
Eu preciso ordenar esses registros e gravá-los em um arquivo temporário.
Como eu faço para orderna-los, tendo como base um campo selecionado atraves do substring.
Você pode colocar os registros em algum objeto na memória (um vetor, por exemplo), ordená-los e depois gravar os registros ordenados no arquivo.
Exemplo: suponha que você queira ordenar pelo número que aparece no meio da string:
String[] vetor = {"aaa0aaa", "aaa5aaa", "aaa3aaa", "aaa7aaa", "aaa1aaa"};
Arrays.sort( vetor, new Comparator()
{
public int compare( Object obj1, Object obj2 )
{
return (((String)obj1).substring(3,4)).compareTo(((String)obj2).substring(3,4)
);
}
}
);
for(int i=0; i<vetor.length; i++) {
System.out.println( vetor[i] );
}
[]'s