Me he tomado la libertad de modificar un poco tu clase.
No sabía que exístia lo de Character.isDigit(), en caso contrario habría comparado el char con '1', '2', '3', etc..
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
/**
* Demuestra el uso de un archivo de texto
*
*/
public class ChecaDatos {
public static void main(String[] args) throws IOException {
String arch = "Lee.txt";
String numeros = "Numeros.txt";
String letras = "Letras.txt";
String lineas;
PrintWriter salidaTexto = new PrintWriter(new FileWriter(letras));
PrintWriter salidaNumeros = new PrintWriter(new FileWriter(numeros));
FileReader c = new FileReader(arch);
BufferedReader entradaArch = new BufferedReader(c);
lineas = entradaArch.readLine();
char caracter;
while (lineas != null) {
for (int i = 0; i<lineas.length(); i++) {
if ( Character.isDigit(caracter =lineas.charAt(i))){
salidaNumeros.print(caracter);
}
else {
salidaTexto.print(caracter);
}
}
lineas = entradaArch.readLine();
}
entradaArch.close();
salidaNumeros.close();
salidaTexto.close();
}
}