Hola:
Estoy aprendiendo a usar ficheros con java y ya he conseguido leerlo e imprimirlo por pantalla.
Tengo el fichero en lineas, ahora necesito leer cada caracter de las lineas. Y que segun el caracter que lea me pinte una imagen en mi ventana.
Solo consigo que me pinte el primer caracter de cada linea y en la misma barra.
Este es mi código:
Código:
File archivo = null;
FileReader fr = null;
BufferedReader br = null;
try {
// Apertura del fichero y creacion de BufferedReader para poder
// hacer una lectura comoda (disponer del metodo readLine()).
archivo = new File("G:/PFC/Sokoban/src/niveles/" + getNivel() + ".txt");
fr = new FileReader(archivo);
br = new BufferedReader(fr);
// Lectura del fichero
String linea;
while ((linea = br.readLine()) != null) {
String caracter;
for (int i = 0; i < linea.length(); i++) {
caracter = linea.substring(i);
if (caracter.equals("1")) {
x += 25;
} else if (caracter.equals("#")) {
Pared p = new Pared(this);
p.setX(x);
p.setY(y);
actors.add(p);
x += 25;
} else {
System.out.println("me cago en to");
}
}
y += 25;
}
} catch (Exception e) {
System.out.println("Error de lectura en el fichero");
e.printStackTrace();
} finally {
// En el finally cerramos el fichero, para asegurarnos
// que se cierra tanto si todo va bien como si salta
// una excepcion.
try {
if (null != fr) {
fr.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
Por otro lado mi fichero de texto era más grande pero al no funcionar lo he reducido a lo siguiente:
11##11
#11##