viernes, 23 de septiembre de 2016

ARCHIVOS

Los programas usan variables para almacenar información: datos de entrada, los resultados calculados y valores intermedios generados a lo largo del cálculo. Toda esta información es efímera: cuando acaba el programa, todo desaparece. Pero, para muchas aplicaciones, es importante poder almacenar datos de manera permanente, es para esto que se crean archivos o también llamados ficheros ya que nos permite guardar información más allá del tiempo de ejecución. Los archivos nos permite interactuar con los dispositivos de almacenamiento externo para poder mantener la información en el tiempo.

Existen dos tipos de archivos:

1. ARCHIVO DE TEXTO O PLANO

Los archivos de texto plano son aquellos que están compuestos únicamente por texto sin formato, solo caracteres, estos caracteres se pueden codificar de distintos modos dependiendo de la lengua usada. Se les conoce también como archivos de texto llano o texto simple por carecer de información destinada a generar formatos y tipos de letra.

2. ARCHIVO BINARIO

Un archivo binario  es un archivo informático que contiene información de cualquier tipo, codificada en forma binaria para el propósito de almacenamiento y procesamiento de ordenadores, como por ejemplo: imágenes, sonido, vídeo, etc.


LA CLASE FILE: Proporciona información acerca de los archivos, de sus atributos, de los directorios, etc. Se usa para crear un archivo.

-Constructores

Constructores de la clase FileEjemplo
public File(String pathname) ;new File("/carpeta/archivo");
public File(String parent, Stringchild) ;new File("carpeta", "archivo");
public File(File parent, Stringchild) ;new File(new File("/carpeta"), "archive");
public File(URI uri) ;new File(new URI(str);

-Métodos

MÉTODOS
canRead()comprueba si el fichero se puede leer
canWrite()comprueba siel fichero se puede escribir
delete()borra dicho fichero
getPath()devuelve la ruta del fichero
mkdir()crea un directorio con la ruta del objeto que lo recibe
isDirectory()comprueba si dicho fichero es un directorio

JERARQUÍA DE FLUJO DE DATOS


Las clases Reader y Writer son clases bases de la jerarquía para los flujos de caracteres es decir se usa para la escritura y lectura de archivos plano o de texto.


Las clases InputStream y OutputStream con las clases bases para leer y escribir archivos binarios.


EJEMPLO DE LECTURA/ESCRITURA DE ARCHIVO PLANO

A continuación se creará, escribirá y leerá un archivo de texto plano:
 package blogger;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;

public class Archivo_de_texto {
    private File f;
    
    public void crearArchivo(){
        try {
            
            f = new File ("Archivos/archivo_plano.txt");
            
            if(!f.exists()){
                f.createNewFile();
            }
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }      
    }
    
    public void escribirArchivo(){
        try {
            FileWriter fw = new FileWriter(f);
            fw.write("Mi primer archivo plano");
            fw.close();
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
   
    }
    public void leerArchivo (){
        try {
            FileReader fr = new FileReader(f);
            BufferedReader br = new BufferedReader(fr);
            String linea = null;
            while ((linea=br.readLine()) != null) {                
                System.out.println(linea);
            }
            br.close();
            fr.close();
            
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }
}
EJEMPLO DE LECTURA/ESCRITURA DE ARCHIVO BINARIO

A continuación se creará, escribirá y leerá un archivo de texto plano:
package blogger;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.List;

public class Archivo_Binario {
    private File f;
    
    public void crearArchivoBinario(){
            try {
                f= new File("Archivos/archivo_binario.txt");
               if(!f.exists()){
                f.createNewFile();
            }
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }
    }    
    
    public void escribir_ArchivoBinario(){
        try {
            List  estudiantes = new ArrayList ();
            Estudiante e1 = new Estudiante("Jorge", "75426598", 18, "1234567", "Sistemas");
            Estudiante e2 = new Estudiante("Martha", "7757856", 16, "1745863", "Zootecnia");
            Estudiante e3 = new Estudiante("Martin", "7786626", 22, "1234567", "Ambiental");
           
            estudiantes.add(e1);
            estudiantes.add(e2);
            estudiantes.add(e3);
            
            FileOutputStream fos = new FileOutputStream(f);
            ObjectOutputStream oos= new ObjectOutputStream(fos);
            oos.writeObject(estudiantes);
            oos.close();
            fos.close();
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }
    
    public void leerArchivoBinario(){
        try {
            FileInputStream fis = new FileInputStream(f);
            ObjectInputStream ois = new ObjectInputStream(fis);
            ois.close();
            fis.close();
            
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }
}

No hay comentarios.:

Publicar un comentario