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.
import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;public class CopiarArchivo {public FileInputStream input;public FileOutputStream output;public byte[] b;public File fileInput,fileOutput;public CopiarArchivo(){fileInput= new File("archivo.txt");fileOutput = new File("archivo2.txt");- }
public void duplicar(){- input = new FileInputStream(fileInput);
output = new FileOutputStream(fileOutput);b = new byte[(int)fileInput.length()];input.read(b);output.write(b);- input.close();
- output.close();
public static void main(String[] argumentos) {CopiarArchivo cp = new CopiarArchivo();cp.duplicar();}}
Este mismo ejemplo se puede realizar mediante un while y un dato de tipo entero.
import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;public class CopiarArchivo {public FileInputStream input;public FileOutputStream output;public int b;public File fileInput,fileOutput;public CopiarArchivo(){fileInput= new File("archivo.txt");fileOutput = new File("archivo2.txt");}public void duplicar(){input = new FileInputStream(fileInput);output = new FileOutputStream(fileOutput);while((b=input.read())!=-1)output.write(b);input.close();output.close();public static void main(String[] argumentos) {CopiarArchivo cp = new CopiarArchivo();cp.duplicar();}}
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.
import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class CopiarArchivo {public FileInputStream input;public FileOutputStream output;public byte[] b;public File fileInput,fileOutput;public CopiarArchivo(){fileInput= new File("archivo.txt");fileOutput = new File("archivo2.txt");}public void duplicar(){try {input = new FileInputStream(fileInput);} catch (FileNotFoundException ex) {ex.printStackTrace();}try {output = new FileOutputStream(fileOutput);} catch (FileNotFoundException ex) {ex.printStackTrace();}b = new byte[(int)fileInput.length()];try {input.read(b);} catch (IOException ex) {ex.printStackTrace();}try {output.write(b);} catch (IOException ex) {ex.printStackTrace();}try {input.close();} catch (IOException ex) {ex.printStackTrace();}try {output.close();} catch (IOException ex) {ex.printStackTrace();}}public static void main(String[] argumentos) {CopiarArchivo cp = new CopiarArchivo();cp.duplicar();}}
Para poder comentar es necesario iniciar sesión