Programación General > Java
Problema con archivos
(1/1)
lair:
hola a todos tengo un problema con el manejo de archivos, asi como dice el titulo.
la cuestion es la siguiente, tengo este codigo que es para abrir y guardar el archivo.
Abriri archivo:
--- Código: Java ---//mostramos el dialogo para cargar el archivo int dialog = jFileChooser1.showDialog(this, "Abrir"); //en caso de dar click en calcelar cortamos la ejecucion del evento if(dialog==JFileChooser.CANCEL_OPTION) return; //si se acepta el dialogo almacenamos el archivo en la variable archivo File archivo = jFileChooser1.getSelectedFile(); if(archivo==null || archivo.getName().equals("")){ JOptionPane.showMessageDialog(null, "El nobre de archivo no es valido"); }else{ try { FileReader content = new FileReader(archivo); BufferedReader lineas = new BufferedReader(content); //JOptionPane.showMessageDialog(null, archivo.length()); jTextArea1.setText(""); while(lineas.readLine()!=null){ jTextArea1.append(lineas.readLine()+"n"); } } catch (Exception ex) { JOptionPane.showMessageDialog(null, "No se puede abrir el archivo:n"+ex); } } y con este lo guarde despues de tratarlo:
--- Código: Java ---int dialog = jFileChooser1.showDialog(this, "Guargar"); if(dialog==JFileChooser.CANCEL_OPTION){ return; } FileOutputStream tmp; File archivo = jFileChooser1.getSelectedFile(); try { tmp = new FileOutputStream(archivo); new PrintStream(tmp).println (jTextArea2.getText()); } catch (Exception ex) { JOptionPane.showMessageDialog(null, "Error:n"+ex); } JOptionPane.showMessageDialog(null, "Archivo Guardado");
la cuestion es que al abrirlo solo me abre como una tercera parte del archivo.
no se por que y no se que hacer :hitcomp: toda ayuda sera bienvenida gracias a todos
NOTA: los archivos que estoy intentando abrir contienen alrededor de 3000 lineas y el codigo que tengo solo me abre alrededor de 1700
shadow_rev:
Revisaste que el contenido del archivo al abrirlo con el programa coincida con el contenido real del archivo ?? Porque me parece que estas cometiendo un error llamando 2 veces el método readLine() (líneas 17 y 18). Creo que la forma más correcta sería:
--- Código: Java ---string linea = "";while((linea = lineas.readLine()) != null) { jTextArea1.append(linea + "n");}
Espero que esto te ayude
:suerte:
lair:
Tiene razon shadow_rev ese era el problema muchas gracias. :beer:
Navegación
Ir a la versión completa