Guardar y Leer archivos en Java

Crear archivos, guardar datos y leer datos en Java

Las clases FileInputStream y FileOuputStream permiten leer y escribir archivos mediante streams, trabajando con datos binarios y basándose en objetos de tipo File que representan el archivo de lectura y el archivo de escritura. El código siguiente muestra la estructura básica de lectura y escritura de un archivo con FileInputStream y FileOutputStream mediante un array de bytes.

  1. import java.io.File;
  2. import java.io.FileInputStream;
  3. import java.io.FileOutputStream;
  4. public class CopiarArchivo {
  5. public FileInputStream input;
  6. public FileOutputStream output;
  7. public byte[] b;
  8. public File fileInput,fileOutput;
  9. public CopiarArchivo(){
  10. fileInput= new File("archivo.txt");
  11. fileOutput = new File("archivo2.txt");
  12. }
  13. public void duplicar(){
  14. input = new FileInputStream(fileInput);
  15. output = new FileOutputStream(fileOutput);

  16. b = new byte[(int)fileInput.length()];
  17. input.read(b);
  18. output.write(b);
  19. input.close();
  20. output.close();

  21. public static void main(String[] argumentos) {
  22. CopiarArchivo cp = new CopiarArchivo();
  23. cp.duplicar();
  24. }
  25. }

Este mismo ejemplo se puede realizar mediante un while y un dato de tipo entero.

  1. import java.io.File;
  2. import java.io.FileInputStream;
  3. import java.io.FileOutputStream;
  4. public class CopiarArchivo {
  5. public FileInputStream input;
  6. public FileOutputStream output;
  7. public int b;
  8. public File fileInput,fileOutput;
  9. public CopiarArchivo(){
  10. fileInput= new File("archivo.txt");
  11. fileOutput = new File("archivo2.txt");
  12. }
  13. public void duplicar(){
  14. input = new FileInputStream(fileInput);
  15. output = new FileOutputStream(fileOutput);
  16. while((b=input.read())!=-1)
  17.     output.write(b);
  18. input.close();
  19. output.close();
  20. public static void main(String[] argumentos) {
  21. CopiarArchivo cp = new CopiarArchivo();
  22. cp.duplicar();
  23. }
  24. }

Para poder compilar estos dos códigos anteriores es necesario encerrarlo todo con try-catch obteniendo un archivo duplicado mediante las clases FileInputStream y FileOutputStream.

  1. import java.io.File;
  2. import java.io.FileInputStream;
  3. import java.io.FileNotFoundException;
  4. import java.io.FileOutputStream;
  5. import java.io.IOException;
  6. public class CopiarArchivo {
  7. public FileInputStream input;
  8. public FileOutputStream output;
  9. public byte[] b;
  10. public File fileInput,fileOutput;
  11. public CopiarArchivo(){
  12. fileInput= new File("archivo.txt");
  13. fileOutput = new File("archivo2.txt");
  14. }
  15. public void duplicar(){
  16. try {
  17. input = new FileInputStream(fileInput);
  18. } catch (FileNotFoundException ex) {
  19. ex.printStackTrace();
  20. }
  21. try {
  22. output = new FileOutputStream(fileOutput);
  23. } catch (FileNotFoundException ex) {
  24. ex.printStackTrace();
  25. }
  26. b = new byte[(int)fileInput.length()];
  27. try {
  28. input.read(b);
  29. } catch (IOException ex) {
  30. ex.printStackTrace();
  31. }
  32. try {
  33. output.write(b);
  34. } catch (IOException ex) {
  35. ex.printStackTrace();
  36. }
  37. try {
  38. input.close();
  39. } catch (IOException ex) {
  40. ex.printStackTrace();
  41. }
  42. try {
  43. output.close();
  44. } catch (IOException ex) {
  45. ex.printStackTrace();
  46. }
  47. }
  48. public static void main(String[] argumentos) {
  49. CopiarArchivo cp = new CopiarArchivo();
  50. cp.duplicar();
  51. }
  52. }


Comentarios: 0

Para poder comentar es necesario iniciar sesión



Este dominio utiliza cookies de terceros para crear estadísticas y publicidad personalizada. Si continúa navegando está aceptando su uso