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