mayo 20, 2012, 05:13:38
727 Mensajes - 241 Temas - 4904 Usuarios

Autor Tema: [Videotutorial 8] Excepciones y Manejo de Archivos.  (Leído 3145 veces)

DEMENTEXMASTER

  • Administrator
  • Jr. Member
  • *****
  • Mensajes: 70
  • Pais: mx
    • Ver Perfil
[Videotutorial 8] Excepciones y Manejo de Archivos.
« : septiembre 18, 2010, 11:27:29 »
PARTE 1:
No está autorizado para ver los enlaces. Registrate o Ingresa

PARTE 2:
No está autorizado para ver los enlaces. Registrate o Ingresa


Bueno aqui les dejo un ejemplo una solucion que le ofreci a un compañero del foro, creo que con este ejemplo se pueden dar una amplio panorama de como manipular archivos claro tiene limitado hasta un problema especifico ya que fue una respuesta personalizada pero en fin, si no es asi en la parte de hasta bajo les dejo un manual de como pueden ustedes hacer la manipulacion de ficheros espero les sirva saludos.



La accion lee jala el fichero.dat que porcierto se encuentra en la carpeta del proyecto:


La accion modificar nos despliega una tabla donde podemos modificar los campos, OJO DESPUES DE MODIFICARLOS TIENES QUE DESELECCIONAR EL CAMPO QUE EDITASTE DE LO CONTRARIO NO SE GUARDARA EL CAMBIO EN ESE CAMPO.


y por ultimo el boton guardar lo que hace es generar un archivo llamado fichero.txt con loq eu contiene el arreglo bidimencional este tambien se guarda en la raiz del proyecto.


Este es el codigo y al final te añado la descarga del proyecto te comente linea por liena pero los 2 ultimos metodos ya me dio flojera la verdad xd espero qeu te sirva saludos.

package apoyo;
import java.io.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class Main {
   //creamos el frame
   static  JFrame frame = new JFrame();
   //creamos unescritorio
   static JDesktopPane esc = new JDesktopPane();
   //creamos los botones leer modificar y guardar
   static JButton b1 = new JButton("Leer");
   static JButton b2 = new JButton("Modificar");
   static JButton b3 = new JButton("Guardar");
   //Creamos area de texto
   static JTextArea area1 = new JTextArea();
   static JScrollPane area = new JScrollPane(area1);
   static String arrFinal[][];

    public static void main(String[] args) {
            //le asignamos tamaño y hubicacion al area
            area.setBounds(10, 50, 360, 200);
            //les asignamos tamaño y hubicacion a lso botones
            b1.setBounds(10, 10, 100, 30);
            b2.setBounds(140, 10, 100, 30);
            b3.setBounds(270, 10, 100, 30);
            //añadimos los botones y area al escritorio
            esc.add(b1);
            esc.add(b2);
            esc.add(b3);
            esc.add(area);
            //le asignamos tamaño al frame
            esc.setSize(400, 300);
            //añidamos escritorio al frame
            esc.setBackground(Color.LIGHT_GRAY);
            frame.add(esc);
            //le asignamos tamaño al frame
            frame.setSize(400, 300);
            //para al salir terminar proceso del frame
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            //para que aparesca centrado el frame
            frame.setLocationRelativeTo(null);
            //para qeu sea visible el frame
            frame.setVisible(true);
            area1.setEditable(false);

            //Accion del boton 1 LEER
            b1.addActionListener(new ActionListener(){
               public void actionPerformed(ActionEvent e){
                  leer();
               }
            });
            //Accion del boton 2 MODIFICAR
            b2.addActionListener(new ActionListener(){
               public void actionPerformed(ActionEvent e){
                  modificar();
               }
            });
            //Accion del boton 3 GUARDAR
            b3.addActionListener(new ActionListener(){
               public void actionPerformed(ActionEvent e){
                  guardar();
               }
            });

    }


    //de aqui comienzan los metodos que utiliza LEER
    public static void leer(){
                   try{
                        //variable para leer linea por linea del documento
                        String cadena="";
                        //variable para concatenar la string final
                        String cadenafinal="";
                        //variable con nombre del archivo
                        String fichero="fichero.dat";
                        //variable para obtener el stream del fichero
                        FileInputStream mifichero = new FileInputStream(fichero);
                        //variable que permite leer el fichero
                        BufferedReader leer = new BufferedReader(new InputStreamReader(mifichero));

                        //ciclo para leer el fechero
         do {
                        //readline lee cada lina del fichero
            cadena = leer.readLine();
                        //se compara si la cadena que se lea del archivo no contiene nada se termina todo
            if (cadena == null){
                     break;
                        //si no entonces concatenamos cadena
                                }else{
                cadenafinal = cadenafinal + cadena + "\n";
                                }
         } while ( true );
                        //metodo para llenar arreglo
                        getTabla(cadenafinal);
                        //cadenafinal toma el contenido del arreglo
                        cadenafinal = getArreglo();
                        //lo imprimimos en nuestra area de texto
                        area1.setText(cadenafinal);
                    }catch (Exception e){
                        JOptionPane.showMessageDialog(null,"Lamentablemente no esta registrado el alumno que busca \n     Por favor verifique el nombre e intente de nuevo");
                    }
    }

    //metodo para coloar contenido de fichero.dat en un arreglo bidimencional
    public static void getTabla(String cadena){
        //arreglo simple que compara cuantos saltos de linea hay en el fichero.dat
        String arrAlto[] = cadena.split(";\n");
        //arreglo simple que compara cuantos campos hay en cada renglon del fichero.dat
        String arrAncho[] = arrAlto[0].split(";");
        //Declaracion de arreglo bidimencional
        arrFinal = new String [arrAlto.length][arrAncho.length];
        //ciclo para llenar arreglo bidimencional
        for(int i=0;i<arrAlto.length;i++){
            String arrTemp[] = arrAlto.split(";");
            for(int j=0; j<arrTemp.length;j++)
            arrFinal[j] = arrTemp[j];
        }
    }
    //metodo para pintar arreglo
    public static String getArreglo(){
        //vatiable que tomara lo que contiene el arreglo bidimencional
        String ca = "";
        //llenado de variable que contendra arreglo bidimencional
        for(int i=0;i<arrFinal.length;i++){
            for(int j=0; j<arrFinal[0].length;j++){
              ca = ca + arrFinal[j]+ "\t";
            }
         ca =  ca + "\n";
        }
        return ca;
    }

    //metodo modificar en arreglo bidimencional
    public static void modificar(){
          String arrTemp[] = new String[arrFinal[0].length];
          for(int i=0;i<arrTemp.length;i++){
            arrTemp="";
          }
          final JFrame frame2 = new JFrame("modificar fichero");
          final JTable table1 = new JTable(arrFinal, arrTemp);
          table1.setPreferredScrollableViewportSize(new Dimension(400,300));
     JScrollPane scroll = new JScrollPane(table1);
          JButton boton = new JButton("Salvar");
          frame2.add(scroll, BorderLayout.CENTER);
          frame2.add(boton, BorderLayout.SOUTH);
          frame2.setSize(400,300);
          frame2.setVisible(true);
          frame2.setLocationRelativeTo(null);
            boton.addActionListener(new ActionListener(){
               public void actionPerformed(ActionEvent e){
                  for(int t=0;t<arrFinal.length;t++)
                      for(int j=0;j<arrFinal[0].length;j++)
                         arrFinal[t][j]=table1.getValueAt(t, j).toString();
               area1.setText(getArreglo());
               frame2.setVisible(false);
               }
            });

    }

    //metodo paara guardar el arreglo bidimencional como fichero.txt
    public static void guardar(){
        try{
             String cadd="fichero.txt";
             BufferedWriter out = new BufferedWriter(new FileWriter(cadd));
             String cadenaescribir ="";
                  for(int t=0;t<arrFinal.length;t++){
                      for(int j=0;j<arrFinal[0].length;j++){
                         cadenaescribir = cadenaescribir +  arrFinal[t][j]+";";
                      }
                  cadenaescribir = cadenaescribir + "\r\n";
                  }
             out.write(cadenaescribir);
             out.close();
             JOptionPane.showMessageDialog(null, "El fichero.txt se creo correctamente!!");
        }catch(IOException e){
             System.out.println("ERROR AL TRATAR DE CRAR FICHERO.TXT");
        }
    }

}

DESCARGA EL CODIGO:

No está autorizado para ver los enlaces. Registrate o Ingresa

MANUAL DE FICHEROS:

No está autorizado para ver los enlaces. Registrate o Ingresa
« Última Modificación: septiembre 18, 2010, 11:29:15 por DEMENTEXMASTER »

GATO06

  • Newbie
  • *
  • Mensajes: 6
    • Ver Perfil
Re:[Videotutorial 8] Excepciones y Manejo de Archivos.
« Respuesta #1 : septiembre 18, 2010, 11:36:32 »
Esta de lujos we gracias ya hbia visto tus tutoriales  en youtube me an sido de gran ayuda en la universidad

DEMENTEXMASTER

  • Administrator
  • Jr. Member
  • *****
  • Mensajes: 70
  • Pais: mx
    • Ver Perfil
Re:[Videotutorial 8] Excepciones y Manejo de Archivos.
« Respuesta #2 : septiembre 18, 2010, 11:38:43 »
que bueno que les sirvan man, por que de esa forma dan la posibilidad a tratar de hacerme el espacio de hacer mas tutos, por aca nos andamos viendo saludos

NeoAlberto

  • Newbie
  • *
  • Mensajes: 7
    • Ver Perfil
Re:[Videotutorial 8] Excepciones y Manejo de Archivos.
« Respuesta #3 : octubre 04, 2010, 01:48:45 »
DementexMaster, pido un consejo, deberia uno estudiar o bien empezar a construir aplicaciones gráficas linea por linea, código por código, como lo has hecho en estos tutoriales o tb. existe la posibilidad de usar el entorno grafico que tiene netbeans que trae proyectos prototipos de aplicaciones de escritorio (swing).

De todas formas, has hecho un trabajo notable con estos tutoriales, estoy comprendiendo java desde cero nuevamente, pero queria aventurarme con ir al uso de los proyectos prototipos de netbeans pero tengo dudas al momento de usarlo, en cuanto a la estructura y componentes que ya vienen configurados en el proyecto prototipo.

Se comprende mi comentario?.

Espero vuestra respuesta o de algunos de nuestros compañeros del foro si es que alguna vez tuvieron esta inquietud.

Saludos..    8)

Marlo

  • Newbie
  • *
  • Mensajes: 1
    • Ver Perfil
Re:[Videotutorial 8] Excepciones y Manejo de Archivos.
« Respuesta #4 : mayo 02, 2011, 05:52:31 »
buen día, necesito su ayuda.

lo que quiero hacer es crear un arreglo desde un archivo .txt, ya teniendo dicho arreglo, necesito manipularlo restandole o sumandole.

ej:

el archivo .txt

auto 2
moto 3

hacer un arreglo de eso y poder manipular las cantidades de dichos elementos(auto,moto) sumandole y restandole cantidades a los mismos

pancho_418

  • Newbie
  • *
  • Mensajes: 1
    • Ver Perfil
Re:[Videotutorial 8] Excepciones y Manejo de Archivos.
« Respuesta #5 : noviembre 01, 2011, 02:58:52 »
Muchas gracias ;) por tomarte el tiempo para hacer los tutoriales, son muy buenos en realidad. te felicito ya me a sido de mucha ayuda..



Saludos desde guatemala.!  8) :)

jhonnysanchez

  • Newbie
  • *
  • Mensajes: 1
    • Ver Perfil
Sobre la Descarga del Codigo en 4shared
« Respuesta #6 : noviembre 12, 2011, 11:00:11 »
Como Están, Primero felicitarlos por esta pagina que realmente es EXCELENTE y he aprendido muuuucho de lo que siempre he querido aprender en JAVA y ps bueno, agradeceria inmensamente si vuelven a subir el archivo del ejemplo que se menciona en este tutorial 8 ya que en 4shared no esta..... muchas gracias por su respuesta....