Hola gente, tengo un pequeño problema con un código que tengo "casi" hecho.
El problema es el siguiente:
Tengo un archivo de texto, concretamente un archivo con las coordenadas de cada fotograma de un SpriteSheet, y lo quiero procesar.
El archivo tiene esta pinta:
p1_duck = 365 98 69 71
p1_front = 0 196 66 92
p1_hurt = 438 0 69 92
p1_jump = 438 93 67 94
p1_stand = 67 196 66 92
p1_walk01 = 0 0 72 97
p1_walk02 = 73 0 72 97
p1_walk03 = 146 0 72 97
p1_walk04 = 0 98 72 97
p1_walk05 = 73 98 72 97
p1_walk06 = 146 98 72 97
p1_walk07 = 219 0 72 97
p1_walk08 = 292 0 72 97
p1_walk09 = 219 98 72 97
p1_walk10 = 365 0 72 97
p1_walk11 = 292 98 72 97
Tengo un código hecho que me recorre cada linea, la recorta con split y mete en un array los datos NUMÉRICOS que a su vez se guardan en un ArrayList para tenerlo todo junto.
El código que hace eso es:
public ArrayList<int[]> procesar(File file) throws FileNotFoundException {
String linea = "";
int [] datos = new int [4];
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
Scanner sc = new Scanner(br);
sc.useDelimiter(this.separador);
while (sc.hasNextLine()) {
linea = sc.nextLine();
for(int i = 0, j = 2; i < datos.length; i++, j++){
String[] tokens = linea.split(this.separador);
datos[i] = Integer.parseInt(tokens[j]);
}
lista.add(datos);
}
sc.close();
return lista;
}
El caso es que le estoy dando vueltas al depurador y no logro encontrar el fallo de porque me mete siempre el mismo objeto (el mismo array con los mismos datos) en toda la lista. Si accedo a cualquier objeto de la lista y al primer elemento de éste, siempre me da el de la última línea del archivo.
Bueno espero haberme explicado con claridad y a ver si me podéis echar una mano