Java - JFileChooser

   
Vista:

JFileChooser

Publicado por Joan Manuel (5 intervenciones) el 03/06/2011 19:20:05
Mi problema es el siguiente, he creado una aplicación que contiene tres botones, uno de abrir, otro guardar y pues el otro limpiar, y también he creado un textArea, he creado una clase con varios métodos para leer archivo de texto en un textArea, la clase es la siguiente:

public String leer (String nombre){

File f;
FileReader lectorArchivo;

try{
f = new File(nombre);
lectorArchivo = new FileReader(f);
BufferedReader br = new BufferedReader(lectorArchivo);
String l="";
String aux="";
while(true){
aux=br.readLine();
if(aux!=null)
l=l+aux+"\n";

else
break;
}
br.close();
lectorArchivo.close();
return l;
}catch(IOException e){
JOptionPane.showMessageDialog(null, "Error al leer archivo" + e);
}

return null;

}

public String leerGrafico(){
File f;
javax.swing.JFileChooser j = new javax.swing.JFileChooser();
j.showOpenDialog(j);
String path = j.getSelectedFile().getAbsolutePath();
String lectura="";
f = new File(path);

try{
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
String aux;
while((aux = br.readLine())!=null)
lectura = lectura+aux+"\n";

}catch(IOException e){

JOptionPane.showMessageDialog(null, "Error para seleccion archivo"+e);

}
return lectura;
}

tengo una duda, y es que si selecceionas un archivo y le das a cancelar te lo corre como quiera, o si por efemplo ejecuta la aplicacion y no seleccionas ningun archivo pues explota el programa, el problema se debe a esta linea de la clase Salida:

String path = j.getSelectedFile().getAbsolutePath();

dice que si esta seleccionado, entonce aun cuando seleccionas y le das a cancelar pues este abre el texto, y si no seleccionas nada explota el programa.....la pregunta es si existe algun otro metodo que no sea getSelectedFile().getAbsolutePath();

he intentado de la siguiente manera, pero me cierra la aplicacion del textArea por el System.exit(0):

public String leerGrafico()
{
File f;
javax.swing.JFileChooser j= new javax.swing.JFileChooser();
j.showOpenDialog(j);
try{
String path= j.getSelectedFile().getAbsolutePath();

String lectura="";
f = new File(path);
try{
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
String aux;
while((aux = br.readLine())!=null)
lectura = lectura+aux+"\n";
}catch(IOException e){}
return lectura;
}catch(NullPointerException e){
javax.swing.JOptionPane.showMessageDialog(j, "Has seleccionado cerrar programa, saliendo...");
System.exit(0);
}return null;
}


OoOoH si alguien otra forma para hacerlo mejor, pues mejor.......gracias por la atencion, espero y pasen buen dia
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

JFileChooser

Publicado por Tom (910 intervenciones) el 04/06/2011 11:28:43
Copiado de la documentación de JFileChooser:

1
2
3
4
5
int returnVal = chooser.showOpenDialog(parent);
    if(returnVal == JFileChooser.APPROVE_OPTION) {
       System.out.println("You chose to open this file: " +
            chooser.getSelectedFile().getName());
    }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar