Ordenando Registros de um arquivo

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