Escribir me escribe perfectamente, pero a la hora de leer . Me da esté fallo: Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0
Aquí pongo mi clase que muestra:
Código:
Ya revisé 20000 veces, pero no entiendo porqué me falla, AYUDENME es para entregarlo mañana a las 11:15 de la mañana. package ficheroordenado; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.Arrays; import javax.swing.JOptionPane; /** * * @author Nephalem */ public class mostrarodenado extends javax.swing.JFrame { File archivo;//para poder crear el fichero FileReader fr; //para leer el fichero de texto. BufferedReader br;//para mostrar con el bufferedReader en ficheros de texto int TamañoArray; public mostrarodenado() { initComponents(); archivo= new File ("datos.txt"); /*aquí llamamos a la constante del array y le asignamos valor el tamaño se calcula dividiendo la longitud del archivo entre lo que ocupa dividido entre 8 ESTO DEBE IR DESPUES DE CREAR EL ARCHIVO */ TamañoArray = (int)archivo.length()/(Integer.SIZE/8); mostrarfichero(); this.setLocationRelativeTo(null); } public void mostrarfichero() { String cadenalee=""; //la declaro aquí porque el ámbito de la variables es solo este método. int [] ornintro; //array para ordenar los números del fichero int i = 0,x=0;//el índice del array ornintro=new int [TamañoArray]; try { fr=new FileReader(archivo); br=new BufferedReader(fr);// en vez de la salida estandar que lea desde el fichero /*lee el fichero hasta que se encuentre una línea en blanco(lee línea por línea*/ cadenalee=br.readLine(); while(cadenalee!=null) { ornintro[i]=Integer.parseInt(cadenalee); br.readLine(); i++; } fr.close(); Arrays.sort(ornintro); //volcando al textarea los números ordenados. for(i=TamañoArray-1; i>=0;i--) { areanumeros.setText(Integer.toString(ornintro[i])); } } catch (FileNotFoundException ex) { JOptionPane.showMessageDialog(this,"no se encuentra el fichero."); } catch(IOException io) { JOptionPane.showMessageDialog(this,"Error al leer el fichero"); } }
Gracias.