Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Gestión de Archivos en Java: Tipos, Clasificación y Operaciones - Prof. Perez, Cheat Sheet of Personality Psychology

Este documento proporciona una introducción completa a la gestión de archivos en java, explorando los tipos de archivos, su clasificación, operaciones básicas y el uso de flujos para la entrada y salida de datos. Se explica el acceso secuencial y directo a archivos, así como las clases clave para trabajar con archivos de texto y binarios, incluyendo filereader, filewriter, fileinputstream, fileoutputstream, bufferedreader, bufferedwriter, datainputstream, dataoutputstream y randomaccessfile. El documento también destaca la importancia de la clase file para representar archivos y directorios en java.

Typology: Cheat Sheet

2022/2023

Uploaded on 12/03/2024

soluble-zulu
soluble-zulu 🇺🇸

1 document

1 / 11

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
pf3
pf4
pf5
pf8
pf9
pfa

Partial preview of the text

Download Gestión de Archivos en Java: Tipos, Clasificación y Operaciones - Prof. Perez and more Cheat Sheet Personality Psychology in PDF only on Docsity!

INTRODUCCION

los archivos son estructuras fundamentales para almacenar y organizar datos en sistemas informáticos. Existen dos tipos principales: archivos de texto (que contienen solo texto plano) y archivos binarios (que pueden almacenar cualquier tipo de datos). Estos se diferencian en su contenido y propósito; mientras los binarios pueden incluir imágenes, sonidos y más, los de texto son más simples y adecuados para información puramente textual. Clasificación y Operaciones Los archivos pueden ser accedidos de manera secuencial (registro tras registro) o directa (accediendo a un registro específico). Además, se pueden realizar operaciones básicas como lectura, escritura, modificación, inserción y borrado. Estas operaciones se gestionan a través de programas que identifican los archivos mediante un nombre externo. En Java El manejo de archivos en Java se realiza mediante flujos de entrada y salida definidos en el paquete java.io. Existen clases específicas para trabajar con archivos dependiendo del tipo de acceso y contenido. Por ejemplo:

  • Lectura: FileReader, BufferedReader, DataInputStream, entre otros.
  • Escritura: FileWriter, BufferedWriter, DataOutputStream, etc.
  • Acceso directo: RandomAccessFile permite manipular archivos en posiciones específicas. La clase File también ofrece una forma práctica de representar archivos o directorios en Java, permitiendo realizar acciones como verificar existencia, obtener información de ruta, entre otras.

Un archivo binario puede almacenar imágenes, sonido, versión comprimida de otros archivos, etc., en pocas palabras, cualquier tipo de información. Algunos archivos binarios tienen una cabecera, constituida por un bloque de metadatos que un programa informático usará para interpretar correctamente la información contenida. Por ejemplo, un archivo GIF puede consistir en múltiples imágenes y la cabecera se usa para identificar y describir cada bloque de datos de cada imagen. Si el archivo binario no tiene cabecera se dice que es un archivo binario plano o de texto plano, compuestos únicamente por texto sin formato, sólo caracteres. Estos caracteres se pueden codificar de distintos modos dependiendo de la lengua usada. Algunos de los sistemas de codificación más usados son: ASCII y Unicode. Se les conoce también como archivos de texto llano, o texto simple, por carecer de información destinada a generar formatos (negritas, subrayado, cursivas, tamaño, etc.) y tipos de letra (por ejemplo, Arial, Times, Courier, etc.). Las aplicaciones destinadas a la escritura y modificación de archivos de texto se llaman editores de texto. Operaciones básicas y tipos de acceso. Según características del soporte empleado y el modo en que sean organizados los registros se consideran dos tipos de acceso

  • Acceso secuencial
  • Acceso Directo o Aleatorio El acceso secuencial implica el acceso a un archivo según el orden de almacenamiento de sus registros, uno tras otro. El acceso directo es el acceso a un registro determinado sin que ello implique la consulta de los registros precedentes. La organización de un archivo define la forma en que se disponen sobre el soporte de almacenamiento de ahí que los tipos de organizaciones sean.
  • Organización Secuencial.
  • Organización Directa o aleatoria Operaciones Sobre Archivos Las operaciones más usadas durante una manipulación de archivos en un programa son:
  • Consulta. Consiste en la recuperación del contenido de un registro.
  • Modificación. Alteración de la información contenida en el registro.
  • Inserción. Agregar un nuevo registro al archivo.
  • Borrado. Supresión de un registro en el archivo. Las operaciones sobre archivos se relacionan mediante programas en donde los archivos se identifican por un nombre externo al que están asociados. La mayoría de los programas ejecutan las siguientes funciones u operaciones al accesar archivos: Creación de archivos. Antes de que cualquier usuario pueda procesar un archivo es preciso que este haya sido creado previamente. Esta es la primera operación que se realiza, mediante la cual se identifica la información correspondiente al archivo en el soporte de almacenamiento. En términos generales los datos que se requieren son.
  1. Nombre del dispositivo de almacenamiento o ruta de acceso.
  2. Nombre del archivo
  3. Tamaño del archivo
  4. Organización del archivo
  5. Tamaño del bloque o registro. Apertura del archivo. Es la que permite al usuario tener disponible y acceder los archivos, los datos requeridos generalmente son nombre del archivo, nombre del dispositivo de almacenamiento y nombre del canal de comunicación. Transferencia de datos desde el archivo (lectura) o al archivo (escritura). Se llama lectura a la recuperación de los datos almacenados en el archivo para su manipulación en memoria principal. La transferencia de datos hacia el archivo se llama escritura y es el almacenamiento de los datos ya procesados en memoria principal. Cerrar el archivo. El propósito de esta operación es permitir al usuario detener el uso del archivo Flujos en Java Los Programas en Java realizan las operaciones de entrada y salida a través de flujos, así se consigue gestionar en forma similar la entrada y salida sobre dispositivos muy diferentes, como teclado, pantalla, impresora, un buffer en memoria o un archivo en disco. La

Apertura de Archivos Para crear, escribir o leer un archivo se requiere establecer un flujo a ó desde él; las clases que crean estos flujos requieren una referencia a un objeto File o un nombre de archivo como argumento. Algunas de estas clases son: PRINCIPALES CLASES LECTORAS FileReader(Acceso Secuencial). Permite crear un flujo para la lectura de caracteres desde un archivo(texto). Sus constructores son: FileReader (String nombre) FileReader (File objeto_archivo) Ejem: FileReader arch = new FileReader (“Datos.txt”)) FileInputStream(Acceso Secuencial). Hereda de InputStream, permite crear un flujo de lectura de bytes desde un archivo. Define el método read, que puede leer una secuencia de bytes. La lectura comienza desde el principio del archivo, y una vez leídos, para volver a ser leídos es necesario cerrar el flujo y volverlo a abrir. Ejem. FileInputStream archivo = new FileInputStream (“Datos.txt”); InputStreamReader. Es una clase general que convierte un flujo de bytes en un flujo de caracteres. Define el método read que puede leer un carácter o un arreglo de caracteres, se utiliza si sabemos que el flujo de entrada es de caracteres de texto. Se debe pasar como un argumento al constructor la clase especifica ligada al origen de los datos, en este caso FileInputStream. InputStreamReader archivo = new InputStreamReader ( new FileInputStream (“Datos.dat” ); BufferedReader. Recibe un flujo de caracteres e implementa un buffer para poder leer líneas de texto. Define el método readLine que lee una línea de texto. Esta clase se utiliza si se sabe que el archivo es de texto y está escrito en líneas separadas por retornos de carro. Como es general (no está ligada a ningún dispositivo origen específico) hay que pasarle como argumento un flujo de caracteres. Hay dos formas de manejarlo y construir el objeto tipo BufferedReader:

  • Utilizar un objeto InputStreamReader creado sobre un objeto de tipo FileInputStream. BufferedReader arch = new BufferedReader (new InputStreamReader ( new FileInputStream (“Datos.txt”)));
  • Aceptar el tamaño del buffer predefinido usando la clase FileReader. BufferedReader arch = new BufferedReader (new FileReader(“Datos.txt”); DataInputStream. Permite leer tipos de datos primitivos (enteros, reales, etc). Esta clase se utiliza si lo que se esta leyendo son datos de tipo binario. Es general, por lo que hay que mandarle como argumento en su constructor un objeto de tipo FileInputStream. Define métodos como: readInt, readFloat, readBoolean, etc. Ejem: DataInputStream arch = new DataInputStream (new FileInputStream (“Datos.dat”)); RandomAccessFile. Permite el acceso directo (AD) a una determinada posición dentro de un archivo, así como la lectura y la escritura de datos en dicho archivo. El último parámetro es el modo en que se creará el flujo, puede ser r, para lectura o rw para lectura/escritura. Ejem: RandomAccessFile arch = new RandomAccessFile(“Datos.dat”, “rw”); PRINCIPALES CLASES DE ESCRITURA FileWriter Escribe caracteres (char) en un archivo(texto). Hereda métodos de Writer. Constructores: FileWriter (String nombre) FileWriter (String nombre, boolean agregar) FileWriter (File objeto_archivo) FileOutputStream. Esta es una clase específica que escribe una secuencia de bytes a un archivo en disco. Define el método write que recibe como argumento a un arreglo de bits. Para abrir un archivo de escritura se crea un objeto de tipo FileOutputStream pasando como argumento al constructor el nombre del archivo. Ejemplo 1:

Este representa el nombre de un archivo o de un directorio por lo que sus métodos permiten realizar varias acciones. Tiene los siguientes constructores: Public File(String ruta_completa) Ejemplo: File archivo1 = new File(“proyecto\texto.txt”); Public File(String ruta, String nombre) Ejemplo: File archivo2 = new File(“proyecto”, “texto.txt”); Public File(File ruta, String nombre) Ejemplo: File dir = new File(“proyecto”); File archivo3 = new File(dir, “texto.txt”);

CONCLUSION

El manejo de archivos es súper importante en la programación porque es la manera en la que guardamos y organizamos la información para que los programas puedan trabajar con ella. En Java, hay muchas herramientas que nos ayudan a manejar archivos de una forma bastante completa y flexible. Estas herramientas se agrupan en lo que se llaman flujos, que básicamente son como "caminos" por donde los datos viajan, ya sea para entrar o salir de los archivos. Por ejemplo, si trabajamos con texto, hay clases específicas que nos facilitan leer y escribir caracteres o líneas completas de texto, como FileReader o BufferedWriter. Pero si necesitamos algo más complejo, como trabajar con datos binarios (imágenes, sonidos o cualquier otra cosa que no sea texto), entonces usamos clases como FileInputStream o DataOutputStream. También está la clase RandomAccessFile, que nos permite ir directamente a una posición específica en un archivo para leer o escribir, algo muy útil cuando no queremos recorrer todo el archivo de principio a fin. Lo padre de todo esto es que cada clase y método está diseñado para situaciones diferentes, lo que hace que podamos hacer programas más eficientes y adaptados a lo que necesitamos. Claro, todavía estoy aprendiendo cómo usar todo esto, pero me doy cuenta de que, si entendemos bien las herramientas y practicamos con ellas, podemos crear aplicaciones que manipulen datos de manera profesional y organizada. La clave está en aprender a manejar los diferentes tipos de flujos y a aprovechar lo que ofrece Java para escribir código limpio y funcional.