Está en la página 1de 15

Definición de Archivo:

Los archivos de datos son un conjunto de datos estructurados que se tratan como una unidad y se encuentran
almacenados en un dispositivo de almacenamiento externo. Los archivos permiten el almacenamiento permanente y la
manipulación de un gran número de datos.

Un archivo se considera formado por una colección de datos lógicamente relacionados, a los que denominaremos
registros, cada registro agrupa datos también con una relación lógica entre sí a los que se denomina campos y es el
programador el encargado de estructurar los archivos de tal forma que se adapten a las necesidades del programa ya
que, en realidad, Java considera los archivos simplemente como flujos secuenciales de bytes.

Clasificación:

En los archivos de datos se pueden destacar dos organizaciones fundamentales: secuencial

y la directa o aleatoria, siendo posible trabajar en Java con ambos tipos de organizaciones.

Organización Secuencia:

La organización secuencial

implica que los datos se almacenan consecutivamente en el soporte externo, no siendo posible acceder directamente a
un determinado dato si no se recorren todos los anteriores.

Organización Directa:

La organización directa permite el posicionamiento directo en un determinado lugar de un archivo para leer la
información allí almacenada y no obliga al almacenamiento de la misma en forma secuencial. Además, a diferencia de la
secuencial, la organización directa permite modificar un dato previamente almacenado, eliminarlo o insertar uno nuevo
en cualquier posición del archivo sin que sea necesario efectuar una copia de todo el archivo cada vez que se realiza una
de estas operaciones

 I. OBJETIVOS:
 1. OBJETIVO GENERAL:
 Crear un programa que cree una librería con la ayuda del manejo de archivos en leguaje Java.
 2. OBJETIVOS ESPECIFICOS:
 Conocer el debido uso de archivos en el lenguaje Java.
 Aprender a ejecutar óptimamente el programa Java.
 Generar un programa que ayude a clasificar archivos de un tipo específico.

Fundamento teórico
Un proyecto Java podemos considerarlo como una serie de carpetas ordenadas y organizadas de acuerdo
con una lógica para mantener organizado el código. Un proyecto suele constar de archivos .java, archivos .class
y documentación.
Los archivos .java contienen el código fuente (entendible por humanos) que en un momento dado podemos
modificar con un editor de textos y suelen encontrarse en carpetas de nombre src (source). Los archivos .class
contienen el bytecode (no entendible por humanos pero sí por la máquina virtual Java) y suelen encontrarse en
carpetas de nombre bin (binary).
La organización de los archivos en carpetas y la presencia de otros adicionales dependen del entorno de desarrollo
que utilicemos. Además, Java introduce un esquema organizativo a través de paquetes (packages) que
comentaremos más adelante.
Para trabajar con proyectos en la mayoría de entornos, incluido BlueJ, debemos tenerlos en un soporte grabable
accesible (por ejemplo en una carpeta de nuestro disco duro). No es válido por tanto un cd, dvd, unidad remota
restringida o carpeta del disco duro con restricciones. El motivo es que los entornos de desarrollo trabajan
grabando información en la carpeta del proyecto que se encuentre activo. Por tanto un soporte no escribible no es
adecuado. Si queremos trabajar con un proyecto contenido en un cd o dvd, primero lo copiaremos a nuestro disco
duro y después lo abriremos para trabajar con él.
 1. ALGUNOS COMANDOS A USAR:

import java.io.*;

public static class

String

public static void main(String[] args)throws IOException

System.out.println

switch

do

While

for

Do while

Break

public static int leerint(String k)throws IOException

BufferedReader w=new BufferedReader(new InputStreamReader(System.in));

Programa desarrollado
package proyect;
import java.io.*;
public class proy
{
public static class pelicula
{String Titulopelicula,Detallepelicula,Generopelicula;
String Nombre,Apellido;}
public static class musica
{String Titulomusica,Detallemusica,Generomusica;
String Nombre,Apellido;
}
public static class pdf
{
String Titulopdf,Detallepdf,Generopdf;
String Nombre,Apellido;
}
public static class foto
{
String Titulofoto,Detallefoto,Generofoto;
String Nombre,Apellido;
}
public static class programa
{
String Tituloprograma,Detalleprograma,Generoprograma;
String Nombre,Apellido;
}
public static void main(String[] args)throws IOException
{ pelicula [] pel=new pelicula[200];
musica [] mus=new musica[200];
pdf [] pd=new pdf[200];
foto [] fot=new foto[200];
programa [] pro=new programa[200];
int narchivosaingresar=0, opcion,tipo;
String titulopelicula,detallespelicula,generopelicula;

do{
System.out.println(" LIBRERIA DE ARCHIVOS DE VLADIMIR CALLE MAYSER Y LUIS MONTELLANO
CASTEDO ");
System.out.println("*****************************************************************************************
*");
System.out.println("Lista de actos a ejecutar :");
System.out.println(" 1. Registrar Datos o Informacion\n 2. Borra Datos o Informacion\n 3. Corregir Datos o
Informacion\n 4. Listado General de acuerdo al numero");
System.out.println(" 5. Listado Ordenado por Titulo\n 6. Buscar por Titulo\n 7. Buscar por el Numero\n 8. Salir");
opcion=leerint("Seleccione su Opcion");
switch (opcion){
case 1:
do{
narchivosaingresar=leerint(" Numero Total de Archivos a Ingresar");
}while(narchivosaingresar1000);
for(int i=0;i/font>
System.out.println("Contenido del Archivo a Ingresar Nº"+(i+1));
System.out.println(" 1. Peliculas\n 2. Musica\n 3. Pdf\n 4. Fotografias\n 5. Programacion");
tipo=leerint("Seleccione el Contenido del Archivo");
switch (tipo){
case 1:

pel[i]=leer(i+1);
break;
case 2:
mus[i]=leer2(i+1);
break;
case 3:
pd[i]=leer3(i+1);
break;
case 4:
fot[i]=leer4(i+1);
break;
case 5:
pro[i]=leer5(i+1);
break;}
}
break;
case 2:
break;
case 3:
break;
case 4:
System.out.println("Elija el listado que desee");
System.out.println(" 1. Peliculas\n 2. Musica\n 3. Pdf's\n 4. Fotografias\n 5. Programacion");
tipo=leerint("Seleccione la lista de su Preferencia");
switch (tipo){
case 1:
listadopel(pel,narchivosaingresar);
break;
case 2:
listadomus(mus,narchivosaingresar);
break;
case 3:
listadopdf(pd,narchivosaingresar);
break;
case 4:
listadofot(fot,narchivosaingresar);
break;
case 5:
listadoprog(pro,narchivosaingresar);
break;}
break;
case 5:
break;
case 6:
break;
case 7:
break;}
}while(opcion!=8);
System.out.println("Gracias por su preferencia");
}
public static int leerint(String k)throws IOException
{
BufferedReader w=new BufferedReader(new InputStreamReader(System.in));
System.out.println(k);
int aux=Integer.parseInt(w.readLine());
return aux;
}
public static pelicula leer(int t)throws IOException
{
pelicula aux1=new pelicula();
BufferedReader w=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Ingrese el titulo de la pelicula ");
aux1.Titulopelicula=w.readLine();
System.out.println("Ingrese detalles de la misma ");
aux1.Detallepelicula=w.readLine();
System.out.println("Ingrese el genero de la misma ");
aux1.Generopelicula=w.readLine();
return (aux1);
}
public static musica leer2(int t)throws IOException
{
musica aux2=new musica();
BufferedReader w=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Ingrese el titulo de la cancion ");
aux2.Titulomusica=w.readLine();
System.out.println("Ingrese detalles de la cancion ");
aux2.Detallemusica=w.readLine();
System.out.println("Ingrese el genero de la cancion ");
aux2.Generomusica=w.readLine();
return (aux2);
}
public static pdf leer3(int t)throws IOException
{
pdf aux3=new pdf();
BufferedReader w=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Ingrese el titulo del archivo PDF ");
aux3.Titulopdf=w.readLine();
System.out.println("Ingrese detalles del archivo PDF ");
aux3.Detallepdf=w.readLine();
System.out.println("Ingrese el tipo de archivo PDF (Libro, Revista, Periodico, etc.) ");
aux3.Generopdf=w.readLine();
return (aux3);
}
public static foto leer4(int t)throws IOException
{
foto aux4=new foto();
BufferedReader w=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Ingrese el titulo de la foto ");
aux4.Titulofoto=w.readLine();
System.out.println("Ingrese detalles de la foto ");
aux4.Detallefoto=w.readLine();
System.out.println("Ingrese el estilo de la foto (Retrato, Paisaje, Varios) ");
aux4.Generofoto=w.readLine();
return (aux4);
}
public static programa leer5(int t)throws IOException
{
programa aux5=new programa();
BufferedReader w=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Ingrese el nombre del archivo/programa ");
aux5.Tituloprograma=w.readLine();
System.out.println("Ingrese detalles del archivo/programa ");
aux5.Detalleprograma=w.readLine();
System.out.println("Ingrese el tipo de archivo/programa(Tutorial, programa, instalador,etc.) ");
aux5.Generoprograma=w.readLine();
return (aux5);
}
public static void listadopel (pelicula z[],int ta)
{
for(int i=0;i/font>
{ System.out.println("Numero "+(i+1)+" => "+z[i].Titulopelicula+", "+z[i].Detallepelicula+", "+z[i].Generopelicula);
}
}
public static void listadomus (musica z[],int ta)
{
for(int i=0;i/font>
{ System.out.println("Numero "+(i+1)+" => "+z[i].Titulomusica+", "+z[i].Detallemusica+", "+z[i].Generomusica); }
}
public static void listadopdf (pdf z[],int ta)
{
for(int i=0;i/font>
{ System.out.println("Numero "+(i+1)+" => "+z[i].Titulopdf+", "+z[i].Detallepdf+", "+z[i].Generopdf); }
}
public static void listadofot (foto z[],int ta)
{
for(int i=0;i/font>
{ System.out.println("Numero "+(i+1)+" => "+z[i].Titulofoto+", "+z[i].Detallefoto+", "+z[i].Generofoto); }
}
public static void listadoprog (programa z[],int ta)
{
for(int i=0;i/font>
{ System.out.println("Numero "+i+" => "+z[i].Tituloprograma+", "+z[i].Detalleprograma+",
"+z[i].Generoprograma); }
}
}
PROCEDIMIENTO D EL PROGRAMA:

En esta parte procedemos a iniciar el programa declarando la lista de archivos que vamos a crear en
nuestro algoritmo, vemos que tenemos fotos, pdf"s, musica, etc.
En esta parte tenemos el que será el menú principal de nuestro programa podemos apreciar que aparece nuestro
primer listado, donde generamos diferentes acciones a realizarse.

En esta sección tenemos uno de los primeros case donde especificamos el número de archivos que ingresara
nuestro programa además del contenido específico.
 3.

En esta parte previamente devolvimos los datos de la función película, ingresamos el listado correspondiente a la
sección películas asi creamos una creación privada de cada tipo de archivo que ingresemos.
 4.
Listado Música y PDF"s
 5.

6.
Listado fotos y programas.
 7.

Finalmente procedemos a cerrar el programa detallando e imprimiendo los archivos ingresados, repetimos
esta acción para cada tipo de archivos, fotos, música, videos, etc.
Pantallas de ejecución
Podemos apreciar el listado de nuestro programa, además comprobamos que nuestro programa si se ejecuta y
compila de forma correcta.

Observamos que una vez ingresado un digito dentro del parámetro establecido, el programa cumple una de
sus funciones buscadas, el de ingresar archivos.
Observamos que una vez ingresado un numero de archivo, nos aparece el listado oficial de objetos, en busca de los
contenidos a archivar.

Observamos que una vez seleccionado el tipo de archivo, logramos que se generó un opción para que logremos
guardar el título, detalles específicos y genero del objeto a archivar. Y es asi que para cada función logramos
obtener lo buscado.

Conclusiones
Mediante este programa de archivos logramos aplicar todo lo aprendido en el curso, además logramos crear este
estilo de programa sin la necesitar de aplicar base de datos, logramos generar este programa, útil para eventos de
ordenar una biblioteca personal, ingresando datos o la idea y lógica del programa es aplicable a cualquier otro tipo
de necesidad.
archivos de acceso directo en java
1ro definir la estrucctura del registro
conjunto de campos que contiene el archivo

PERSONA
CI(Entero)
NOMBRE(Cadena de 20 caracteres)
NOTA(REAL DOBLE)
ESTADO(ENTERO)
CI NOMBRE NOTA ESTADO
0 3456 ana 45.7 1
36 9876 pedro 80.0 1
72 1000 jose maria 68.0 1
108 2035 alejandra 75.3 1
144 eof
clase "registro"
datos del registro
leer()-->leer un registro de un archivo
grabar()-->grabar un registro en un archivo
tamano()-->retorna el tamano en bytes de un registro
registro
ci
nombre
nota
estado
tamano()
leer()
grabar()
2.1 declarar una variable u objeto tipo archivo
archivo
arch
crear()
adicion()
reportea()
reporteai()
modificar()
elilogica()
elifisica()
restaurar()
buscar()
otras
3.abrir el archivo
4. Procesar el archivo
5. cerrar el archivo
Procesamiento de archivo.Oeraciones basicas de un archivo
a)crear un archivo vacio
abrir el archivo
cerrar el archivo
b)adicion de registros
se aumenta un registro a partir del final del archivo
abrir el archivo para lectura y escritura
llevar el puntero de lectura y escitura al final del archivo
leer la informacion del registro desde teclado
grabar la informacion en el archivo
cerrar el archivo
c)reporte de registros activos del archivo
abrir el archivo para lectura
leer y mostrar por pantalla todos los registros activos del archivo
cerrar el archivo
d)reporte de registros inactivos del archivo
abrir el archivo para lectura
leer y mostrar por pantalla todos los registros activos del archivo
cerrar el archivo
e)busqueda
determinar si un registro esta o no en el archivo
la busqueda se realiza por medio del campo carnet de identidad(ci)
si el registro buscado esta en el archivo ,entonces la funcion retorna el numero de byte donde se encuentra
en caso contrario(-1)
abrir el archivo para lectura
leer cada uno de los registros y comparar con el ci que se busca
hasta que finalice el archivo o hasta que se encuentre lo que se busca
cerrar el archivo
retornar el resultado de la busqueda
f)modificar
cambia o modifica la informacion de un registro
solo se modifica la informacion de registros activos
dado un carnet de identidad almacenado en una clave
buscar el registro a modificar en el archivo
si el registro a modificar esta en el archivo entonces
abrir el archivo para l/e
mostrar la informacion actual del registro
leer la nueva informacion desde el teclado
grabar la nueva informacion en el mismo lugar del archivo
cerrar el archivo
g)eliminacion logica de registros
el registro que se elimina en forma logica se desactiva
la informacion no desaparece
en el campo estado se graba el valor 0
dado un carnet de identidad almacenado en una clave
buscar el registro a restaurar en el arhivo
si el registro a restaurar esta en el archivo entonces
abrir el archivo para L/E
mostrar la informacion actual del registro
almacenar 1 en el campo estado si el registro esta inactivo
grabar la nueva informacion en el mismo lugar del registro
cerrar el archivo
h)restauracion de registros
el registro que se restaura se debe activar
previamente se a elimando en forma logica
en el campo estado se graba el valor 1
dado un carnet de identidad almacenado en una clave
buscar el registro a restaurar en el arhivo
si el registro a restaurar esta en el archivo entonces
abrir el archivo para L/E
mostrar la informacion actual del registro
almacenar 1 en el campo estado si el registro esta inactivo
grabar la nueva informacion en el mismo lugar del registro
cerrar el archivo
i)eliminacion fisica de registros
se ejecuta muy pocas veces(casi nunca)
la informacion del registro desaparece definitivamente
solo se elimina registro fisicamente registros que que de manera previa han sido eliminados en forma logica
se trabaja con un archivo temporal
se copia al archivo temporal los registros activos
se borra el archivo original
se renombra el archivo temporal por el nombre del archivo original

También podría gustarte