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