Manejo de archivos

4. Sobre Archivo

Partes de un Archivo.

En el campo de la informática, se llama “archivo” al elemento de información compuesto por una suma de registros (combinaciones de bytes).
Este registro tiene los siguientes elementos:

Nombre. Cada archivo es identificable con un nombre, que no puede coincidir con otro que esté en la misma ubicación.
Extensión. Los archivos llevan una extensión opcional, que muchas veces indica su formato, esto es usado por el Sistema Operativo para saber con que aplicación se puede abrir el archivo.
Tamaño. Como se dijo, están compuestos por una serie de bytes que determinan su tamaño.
Descripción. Además del nombre y la extensión, suelen tener otras características. Dentro de estas características puede aparecer la protección del archivo, lo que significa el permiso limitado para la lectura o modificación.
Ubicación. Todos los archivos pertenecen a determinado lugar en la computadora. La mayoría se encuentran almacenados en discos rígidos.
Formato. El modo en que el archivo será interpretado depende de su formato, entre los que están los formatos de texto, ejecutable, de datos, de imagen, de audio, de vídeo, entre muchísimos otros.

Byte Mágico.

Para identificar el formato de archivo comunes, normalmente solo es necesario mirar hasta los primeros bytes del archivo en cuestión. Esto es lo que a menudo se denomina "bytes mágicos", un término que se refiere a un bloque de valores de bytes utilizados para designar un tipo de archivo para que las aplicaciones puedan detectar si el archivo que planean analizar y consumir tiene el formato adecuado o no.
La forma más fácil de inspeccionar el archivo en cuestión será examinarlo con un visor/editor hexadecimal.
Como se muestra a continuación, este es un archivo NAT_dinamica.mp4:



Si vemos el contenido del archivo en modo hexadecimal.



Veamos el contenido de otro archivo, también mp4.



Podemos ver que para estos archivos mp4 parte de los primeros bytes son IGUALES!!


Si nos remitimos a: https://en.wikipedia.org/wiki/List_of_file_signatures sitio en el que se  listan las firmas de archivos o Bytes Mágicos, datos utilizados para identificar o verificar el contenido de un archivo. 


Veamos el caso para .odt documento del Write.

Podemos ver el la página:



Veamos un par de archivos de texto creado con editor Mousepad de Linux

 
El Magic Byte:



Creé un archivo con el procesador de Texto Write y lo guardé como  .txt, en ese caso el Byte Mágico no coincide con el anterior EF BB



Fin de Archivo.

En informática, el fin de archivo (EOF: End Of File) es una condición en el sistema operativo de una computadora en la que no se pueden leer más datos de una fuente de datos.

Es importante para nuestro caso por que el flujo va a estar asociado a un archivo, por lo tanto en algún momento el flujo tendrá un EOF.

En UNIX se puede generar un EOF desde el shell (consola) tecleando Ctrl+D para indicar el EOF de datos ingresados por teclado, así como en Microsoft DOS y Windows se genera mediante la combinación Ctrl+Z.

  • Linux –> Control + D
  • Windows –> Control +Z
  • Macintosh –> Control + D

Veamos un caso de ingresar desde una terminal caracteres:

Podemos ver que presionando Ctrl + D generamos un EOF.


Tipos de Archivos.

El contenido de los archivos puede ser de dos tipos, texto o binario.
Archivos Texto.
Los datos que se almacenan en el archivo son código ASCII y por tanto, pueden ser procesados por cualquier editor de texto.
Archivos Binarios.
Los datos se almacenan en binario, por lo tanto NO esta asociado al código ASCII.
Cuando un archivo se abre en modo texto, se deben realizar varias conversiones de caracteres como la conversión de las secuencias de retorno de carro/salto de línea en nuevas líneas.
Sin embargo cuando un archivo se abre en modo binario no se realiza ninguna de estas con versiones.
Cualquier archivo que contenga texto con formato en modo datos binarios, puede abrirse en modo binario o en modo texto. La única diferencia es la conversión de caracteres.