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.


