Este pequeño trozo de código se encarga de leer un fichero que contenga números separados por uno o varios caracteres: 1,2,3 ó 4 5 6 ó 7@8@9 ó 1asd4asd7asd9 y genera un array con los números leidos
El código es el que sigue:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public static int[] leer(String a, String d){
BufferedReader br = null;
int[] vector = {};
String[] partes = null;
try {
String sCurrentLine;
String delimiter = d;
br = new BufferedReader(new FileReader(a));
while ((sCurrentLine = br.readLine()) != null) {
partes = sCurrentLine.split(delimiter);
int[] aux2 = new int[vector.length];
System.arraycopy(vector, 0, aux2, 0, vector.length);
vector = new int[partes.length+aux2.length];
int [] aux = new int[partes.length];
for(int i=0; i< partes.length; i++){
aux[i] = Integer.parseInt(partes[i]);
}
System.arraycopy(aux2, 0, vector, 0, aux2.length);
System.arraycopy(aux, 0, vector, aux2.length, aux.length);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null)br.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
return vector;
}
Para que funcione le debeis de pasar la ruta al fichero que vais a leer, y entre comillas la cadeda delimitadora ";", "asd", etc.Edit:Se ha modificado el código para que lea el fichero entero y no solo la última línea en caso de tener varias líneas con números.
No hay comentarios:
Publicar un comentario