Autor Tema: escribir y leer en ficheros con java FileWriter y FileReader  (Leído 12939 veces)

galoroca2013

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 9
    • Ver Perfil
Hola Cesar buenas tardes nuevamente ¡Felicitaciones! por este foro; yo estoy haciendo dos programa en java de "mensajeria urgente" y otro sobre devolución de cambio. Yo ya tengo realizados los dos programas, sin embargo me hace falta la parte de Leer y Escribir. He copiado los códigos que has dejado aquí y cuando los compilo funcionan perfectamente sin embargo, no sé cómo invocarlos para ver qué es lo que hacen; por otro lado quisiera saber ¿en qué parte de mis programas puedo ingresar este código para que me funcione.

Es de anotar que estoy homolando mi título de Ingeniera de Sistemas aquí en España y no tenía conocimiento alguno de Java, todo lo he aprendido a través de este excelente foro que tienes y buscando información a través de internet.

Bueno Cesar quedo al pendiente de cualquier ayuda que me puedas prestar y muchas gracias por todo.

Olga Rodríguez

P.D. Los programas los tengo hechos en una sola clase porque el profesor me dijo que así se me facilitaria el desarrollo de las prácticas por no tener conocimiento alguno de Java.
« Última modificación: 15 de Septiembre 2014, 14:09 por Alex Rodríguez »

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2074
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Re:escribir y leer en ficheros (archivos) con java
« Respuesta #1 en: 14 de Enero 2014, 09:05 »
Hola Olga, paso la conversación a un nuevo tema del foro para no mezclar una cosa con otra, desde el nuevo hilo te respondo. Saludos.
« Última modificación: 28 de Agosto 2015, 14:34 por Alex Rodríguez »
Responsable de departamento de producción aprenderaprogramar.com

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2074
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Re:escribir y leer en ficheros con java
« Respuesta #2 en: 14 de Enero 2014, 09:18 »
Para probar este ejemplo de código te indico lo que tienes que hacer:

1) Copia en una clase java este código al que denominamos clase "MenuEscribirLeer" y que es la clase con el método main, es decir, la clase ejecutable

Código: [Seleccionar]
import javax.swing.*;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import java.io.*;

public class MenuEscribirLeer {

    public static void main(String[] args) throws IOException{

        String menu="MENU DE Escribir y Leer\n";
        int n1,n2,n3;
        int op=0;

        menu+="1.  Escribir\n";
        menu+="2.  Leer\n";
        menu+="3.  Fin\n";
        menu+="Escoja Opción:\n";

        while (op!=3){

            op=Integer.parseInt(JOptionPane.showInputDialog(menu));

            switch (op){

                case 1:

                ObjetoEscribir objeto1 = new ObjetoEscribir();
                objeto1.crearCodigoEscribir();

                break;

                case 2:
                ObjetoLeer objeto2 = new ObjetoLeer();
                objeto2.crearCodigoLeer();

                break;

                case 3:

                break;

            }
        }

    } // cierre del  public static void main Ojo !!!! //------------------

    public static void escribir ()throws IOException{
        // TODO code application logic here

        String archivo="nombre.txt";
        FileWriter fw=  new   FileWriter(archivo,true);
        BufferedWriter bw=  new BufferedWriter(fw);     
        PrintWriter  pw= new  PrintWriter (bw);

        String nombre="";     
        int sueldo,edad;
        nombre=JOptionPane.showInputDialog("digite nombre");
        sueldo=Integer.parseInt(JOptionPane.showInputDialog("digite sueldo"));     
        edad=Integer.parseInt(JOptionPane.showInputDialog("digite edad"));     

        pw.println(nombre+"--__--"+sueldo+"--__--"+edad+"--__--");

        JOptionPane.showMessageDialog(null,"los datos se guardaron EXCELENTE");
        pw.close();

    }
}

2) Copia en una clase este código al que denominamos clase ObjetoEscribir y que es la que permite escribir datos a un archivo

Código: [Seleccionar]
import javax.swing.*;
import java.io.*;

public class ObjetoEscribir {

    public void crearCodigoEscribir() throws IOException {
        // TODO code application logic here (algoritmo que escribe archivo)

        String archivo="nombre.txt";
        FileWriter fw=  new   FileWriter(archivo,true);
        BufferedWriter bw=  new BufferedWriter(fw);     
        PrintWriter  pw= new  PrintWriter (bw);

        String nombre="";     
        int sueldo,edad;
        nombre=JOptionPane.showInputDialog("digite nombre");
        sueldo=Integer.parseInt(JOptionPane.showInputDialog("digite sueldo"));     
        edad=Integer.parseInt(JOptionPane.showInputDialog("digite edad"));     

        pw.println(nombre+"--__--"+sueldo+"--__--"+edad+"--__--");

        JOptionPane.showMessageDialog(null,"los datos se guardaron EXCELENTE");
        pw.close();

    }
}

3) Copia en una clase java este código al que denominamos clase ObjetoLeer y que es la que permite leer datos desde el archivo

Código: [Seleccionar]
import javax.swing.*;
import java.io.*;

public class ObjetoLeer {

    public void crearCodigoLeer() throws IOException {

        // TODO code application logic here (algoritmo que lee archivo)

        FileReader fr = new FileReader("nombre.txt");
        BufferedReader br=  new BufferedReader(fr);
        String linea="";
        linea=br.readLine();
        while(linea!=null){
            String vector[]= linea.split("--__--");
            JOptionPane.showMessageDialog(null,"Nombre"+vector[0]+"\nsueldo1:"+vector[1]+"\nsueldo1:"+vector[2]);
            linea=br.readLine();

        }
    }
}

4) Para ver cómo funciona, ejecuta (invoca el método main) de la clase MenuEscribirLeer. Cuando lo hagas te aparecerá un menú que te da las opciones 1. Escribir, 2. Leer y 3. Fin. Elegimos escribir y ponemos como nombre Jose, como sueldo 500 y como edad 33. Debe aparecer un mensaje "Los datos se guardaron". Ahora elegimos otra vez escribir y ponemos como datos paco, 233, 53.

En el mismo directorio donde tengamos los archivos java se habrá creado un archivo denominado "nombre.txt" que contendrá esta información:


Jose--__--500--__--33--__--
paco--__--233--__--53--__--

Donde los símbolos --__-- son símbolos delimitadores.

Ahora si elegimos en el menú "Leer" nos mostrará los datos existentes en el archivo.

Aquí tienes de forma aproximada la lógica para manejar archivos de texto, intenta probarlo a ver si te sale. Saludos!

Responsable de departamento de producción aprenderaprogramar.com

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".