Foro de elhacker.net

Programación => Java => Mensaje iniciado por: chuystoty en 2 Junio 2010, 06:02 am



Título: Manejar archivo .txt desde java (ingresar datos, modificar datos, buscar datos y
Publicado por: chuystoty en 2 Junio 2010, 06:02 am


Saludos, hace unos días se me presento crear un programa en java que pueda acceder a un archivo txt. Y realice las siguientes parámetros, que pueda acceder al archivo y pueda ingresar datos, modificar datos, buscar datos y la eliminación de datos, todo con vista grafica.

Poseo conocimientos sobre programación en java pero nunca he hecho un programa con las características anteriores. Si alguien podría guiarme en este trabajo lo agradecería bastante, gracias por su tiempo. 

 :D


Título: Re: Manejar archivo .txt desde java (ingresar datos, modificar datos, buscar datos y
Publicado por: Leyer en 2 Junio 2010, 06:37 am
Lo basico que tienes que saber:

Código:
java.io.BufferedReader
//Entrada
Código:
java.io.BufferedWriter
  //Salida

   
Código
  1. try {
  2. //Escritura
  3. java.io.BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter("Archivo.txt"));
  4. bufferedWriter.append("Esto es la linea 1");
  5. bufferedWriter.flush();
  6. bufferedWriter.newLine();
  7. bufferedWriter.append("Esto es la linea 2");
  8. bufferedWriter.flush();
  9.  
  10. } catch (IOException e) {
  11. // TODO Auto-generated catch block
  12. e.printStackTrace();
  13. }


      
Código
  1. try {
  2. //Entrada
  3. BufferedReader bufferedReader = new BufferedReader(new FileReader("Archivo.txt"));
  4. //Buscar si existe una palabra
  5. String line = "";
  6. while((line = bufferedReader.readLine())!=null){
  7.                             System.out.println(line);
  8. if(line.indexOf("Palabra")!= -1){
  9. System.out.println("Encontrado line: "+line);
  10. }
  11. }
  12. } catch (FileNotFoundException e) {e.printStackTrace();
  13. } catch (IOException e) {e.printStackTrace();
  14. }

Para eliminar un registro etc.. tienes que guardar los datos del txt en tu programa, una vez guardados, buscas lo que vas a eliminar y lo eliminas,luego abres el buffer de escritura y escribes los nuevos datos del archivo





Título: Re: Manejar archivo .txt desde java (ingresar datos, modificar datos, buscar datos y
Publicado por: chuystoty en 2 Junio 2010, 07:16 am
Gracias, le intentare y haber que sale  ;D


Título: Re: Manejar archivo .txt desde java (ingresar datos, modificar datos, buscar datos y
Publicado por: kinos en 2 Junio 2010, 16:04 pm
que pasa si no haces el "bufferedWriter.flush();" ?
Quiero decir, si escribes 2 millones de cosas... ¿se quedan en el buffer? o se vacía solo el buffer cuando se llena y lo vuelca al archivo...


Título: Re: Manejar archivo .txt desde java (ingresar datos, modificar datos, buscar datos y
Publicado por: Leyer en 2 Junio 2010, 18:30 pm
Se almacena en el buffer hasta que se haga flush;


Título: Re: Manejar archivo .txt desde java (ingresar datos, modificar datos, buscar datos y
Publicado por: kinos en 2 Junio 2010, 22:48 pm
He estado haciendo pruebas y he llegado a la conclusión de que es muchísimo más efectivo sin usar el "flush()".

He insertado 90.000.000 veces un String de 84 caracteres en un archivo haciendo flush() y otra sin flush():

   -con flush(): RAM inicial = 510 MiB, RAM final = 567 MiB -> diferencia = 57 MiB
                     total time: 10 minutes 21 seconds

   -sin flush():  RAM inicial = 532 MiB, RAM final = 596 MiB -> diferencia = 64 MiB
                     total time: 1 minutes 44 seconds

Pensaba que se petaría la Ram pero no es así, el BufferedWriter se debe de vaciar cuando tiene lo suficiente para escribir en el archivo.
La diferencia de Ram suele oscilar entre los 25 o 20 MiB mas o menos.


Título: Re: Manejar archivo .txt desde java (ingresar datos, modificar datos, buscar datos y
Publicado por: chuystoty en 2 Junio 2010, 23:14 pm
Citar
Lo basico que tienes que saber:

Publicado por: LEYER

Código:

java.io.BufferedReader

//Entrada
Código:

java.io.BufferedWriter

  //Salida

   
Código

   try {
         //Escritura
         java.io.BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter("Archivo.txt"));
         bufferedWriter.append("Esto es la linea 1");
         bufferedWriter.flush();
         bufferedWriter.newLine();
         bufferedWriter.append("Esto es la linea 2");
         bufferedWriter.flush();
 
      } catch (IOException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
      }



     
Código

try {
         //Entrada
         BufferedReader bufferedReader = new BufferedReader(new FileReader("Archivo.txt"));
         //Buscar si existe una palabra
         String line = "";
         while((line = bufferedReader.readLine())!=null){
            if(line.indexOf("Palabra")!= -1){
               System.out.println("Encontrado line: "+line);
            }
         }
      } catch (FileNotFoundException e) {e.printStackTrace();
      } catch (IOException e) {e.printStackTrace();
      }


Para eliminar un registro etc.. tienes que guardar los datos del txt en tu programa, una vez guardados, buscas lo que vas a eliminar y lo eliminas,luego abres el buffer de escritura y escribes los nuevos datos del archivo

 

Esta información ha sido de ayuda pero para mala fortuna mía, aun no entiendo bien como crear este programa con los parámetros dichos al principio, agradecería mas ayuda en código o bien algún manual que recomienden donde pueda conocer mas y poder crear este programa   


Título: Re: Manejar archivo .txt desde java (ingresar datos, modificar datos, buscar datos y
Publicado por: kinos en 2 Junio 2010, 23:44 pm
Héchale un vistazo ha esto, hay bastantes cosas:

http://www.chuidiang.com/chuwiki/index.php?title=Lectura_y_Escritura_de_Ficheros_en_Java (http://www.chuidiang.com/chuwiki/index.php?title=Lectura_y_Escritura_de_Ficheros_en_Java)

http://www.chuidiang.com/java/novatos/editor/leer_escribir_fichero.php (http://www.chuidiang.com/java/novatos/editor/leer_escribir_fichero.php)

http://www.chuidiang.com/java/novatos/editor/editor.php (http://www.chuidiang.com/java/novatos/editor/editor.php)

http://www.chuidiang.com/chuwiki/index.php?title=B%C3%BAsqueda_de_ficheros (http://www.chuidiang.com/chuwiki/index.php?title=B%C3%BAsqueda_de_ficheros)


Título: Re: Manejar archivo .txt desde java (ingresar datos, modificar datos, buscar datos y
Publicado por: metalrocksita en 6 Septiembre 2011, 07:06 am
Yo quisiera saber...como crear una clase Visualizar Archivo ?? quién tenga una idea, se lo agradecería mucho...es lo único que me falta para terminar mi programa. Saludos.


Título: Re: Manejar archivo .txt desde java (ingresar datos, modificar datos, buscar datos y
Publicado por: ELMED en 20 Mayo 2012, 06:13 am
Revisa este post, esta de forma muy completa lo que necesitas.
http://todoelmed.blogspot.com/2012/05/manejo-de-archivos-o-ficheros-en.html
Ademas puedes descargar el ejemplo completo.