PDF de programación - Tema 10 - Entrada y Salida

Imágen de pdf Tema 10 - Entrada y Salida

Tema 10 - Entrada y Salidagráfica de visualizaciones

Publicado el 12 de Junio del 2018
776 visualizaciones desde el 12 de Junio del 2018
354,9 KB
102 paginas
Creado hace 11a (13/06/2012)
Tema 10

Entrada y Salida


Sistema de Archivos


Un sistema de archivos es un medio para organizar datos que se espera que perduren
después de un programa termina su ejecución, proporcionando procedimientos para
almacenar, recuperar y actualizar los datos, así como organizar el espacio disponible
en losdispositivos que los contienen. Un sistema de archivos organiza los datos en
forma eficiente y está ajustado a las características específicas del dispositivo.
Normalmente existe un fuerte acoplamiento entre el sistema operativo y el sistema de
archivos.

Los sistemas de archivos se usan en dispositivos de almacenamiento de datos, como
discos duros, flexibles, ópticos, memorias flash, para almacenar los archivos de
computadora.

Aunque la vista de la estructura interna de un archivo como una secuencia de bytes,
está relativamente estandarizada de un sistema operativo a otro, en lo que si difieren
es en la metainformación asociada a ellos, como la fecha de creación del archivo, los
permisos o el nombre del archivo. Esa metainformación se requiere en ciertas
operaciones que manipulan a los archivos independientemente de su contenido, como
crear, mover, renombrar, copiar o eliminar archivos.

Java al ser un lenguaje multiplataforma, debe lidear con esa variabilidad en los
metadatos, creando un mecanismo que le oculte esas diferencias al programador.
Nombres de Archivo

Cada archivo tiene un nombre, su sintaxis depende del sistema operativo. En DOS el
nombre de un archivo está formado por uno hasta 8 caracteres ASCII, seguido por una
extensión de 0 a tres caracteres y separadas por un punto. Además no todos los
caracteres ASCII son válidos en el nombre de un archivo. En Win32 el nombre de un
archivo puede contener hasta 255 caracteres Unicode incluyendo la ruta. En Win32
también hay algunos caracteres no permitidos. De la misma manera MacOS y Unix
manejan sus propias convenciones y restricciones para los nombres de archivo. Para
tener mejores resultados en aplicaciones multiples plataformas considere lo siguiente al
nombrar a los archivos:


ITSON



Manuel Domitsu Kono

282

Entrada / Salida

• Use solamente los caracteres ASCII imprimibles (Códigos ASCII 32 a 126),

• Evite el uso de caracteres de puntuación en especial las diagonales (/) y

puntos y guiones bajo (_).

diagonales (invertidas).

• Nunca empiece un nombre de archivo con un punto, guiones (-) o el carácter

• Evite el uso de caractere acentuados o extendidos.
• Use mayúsculas y minúsculas para facilitar la lectura. Aunque no asuma que

existe diferencias entre caracteres mayúsculos y minúsculos.

• Trate de mantener la longitud de los nombres de archivo a menos de 32

(@).

caracteres.

Extensiones de los Nombres de Archivo y Tipos de Archivo

La extensión de los nombres de archivo por lo general indica el tipo de un archivo.
“.java” denota un archivo texto que contiene código fuente Java. “.class” supone un
archivo con código bytecode. “htm” o “html” denotan archivos que contienen código
HTML. El problema es que las extensiones de archivo no garantizan el tipo de
contenido. Un usuario puede cambiar la extención de un archivo o se pueden encontrar
archivos de diferente contenido con la misma extensión.
Directorios

La mayoría de los sistemas operativos organizan a los archivos en una estructura
jerárquica de directorios. Los directorios (llamados también carpetas) contienen cero,
uno uno o más archivos o directorios. Los directorios también tienen nombres y
atributos que dependiendo del sistema operativo pueden ser los mismos o no que los
de los archivos.
Rutas y Separadores

Para especificar a un archivo completamente, no sólo se le da un nombre, también se
debe dar el directorio en el que se encuentra el archivo. El directorio mismo puede
encontrarse dentro de otro directorio, que a su vez puede estar dentro de otro
directorio, hasta llegar a la raíz del sistema de archivos. La lista completa de los
directorios a partir de la raíz hasta el archivo especificado, incluyendo el nombre del
archivo se conoce como la ruta absoluta del archivo. La sintaxis de la ruta absoluta
varía de sistema operativo a sistema operativo. Algunos ejemplos son los siguientes:


Sistema Operativo

DOS
Win32
Linux, Unix, Mac OS X /volumes/HD/public/html/javafaq/index.html


Ejemplo de una Ruta Absoluta
C: \PUBLIC\HTML\JAVAFAQ\INDEX.HTM
C: \public\html\javafaq\index.html

ITSON



Manuel Domitsu Kono

Tema 10

Entrada / Salida

283

En los tres casos la ruta absoluta se refiere a un archivo llamado index.html en el disco
duro primario, que se ecuentra en el directorio javafaq que a su vez está en el
directorio html, que a su vez está en el directorio public. La diferencia obvia es el
carácter empleado como separador de nombres: ‘\’ para DOS y Win32 o ‘/’ para
Linux, Unix o Mac OS X.
Rutas Absolutas y Relativas

Hay dos formas de referenciar a un archivo, usando una ruta absoluta o una ruta
relativa. Como ya se mencióno en la sección anterior, una ruta absoluta nos da el
nombre completo del archivo, empezando por el nombre de la unidad de disco o raíz
del sistema de archivos. En UNIX, todas los unidades de disco que se encuentran
montadas se combinan en un solo sistema de archivos virtual y su raíz es el directorio
llamado ‘/’. Las rutas absolutas siempre empiezan con el directorio raíz ‘/’.

En Windows y Mac OS 9, no hay un directorio raíz. Cada unidad de disco montado es
un sistema de archivos separado e independiente. En Windows, a esas unidades de
disco se les asigna letras como nombre de la unidad: ‘A’ para el disco flexible, ‘B’ para
el segundo disco flexible, ‘C’ para el disco de arranque primario, ‘D’, normalmente es el
disco óptico, pero puedo ser otro disco o partición. Las demás letras pueden usarse
para más discos, particiones o discos de red.

Una ruta relativa no especifica la ruta completa a un archivo, en lugar de ello
específica la ruta relativa al directorio de trabajo actual. Una ruta relativa puede apuntar
a un archivo dando sólo el nombre del archivo (si este se encuentra en el directorio de
trabajo), otras veces puede apuntar a un archivo en un subdirectorio del directorio de
trabajo dando el nombre del subdirectorio y el nombre del archivo o puede apuntar al
padre del directorio de trabajo usando dos puntos (..).

Los siguientes son algunos ejemplos de rutas relativas:


Sistema Operativo

Ejemplo de una Ruta Absoluta

DOS

Win32

Linux, Unix

Mac OS 9

HTML\JAVAFAQ\
INDEX.HTM
html\javafaq\index.html
index.html
html/javafaq/index.html
index.html
:html:javafaq:index.html
index.html


Normalmente, una aplicación en ejecución identifica a un directorio como el directorio
de trabajo actual, el directorio desde el que la aplicación fue arrancada. El directorio
de trabajo queda fijo una vez que la aplicación arranca. Java no tiene forma de
cambiarlo.

ITSON



Manuel Domitsu Kono

284

Entrada / Salida

Clase File


Java trata de ocultarle al programador todas las diferencias entre los diferentes
sistemas de archivos de las diferentes plataformas que soporta Java, como los
atributos de archivo y los separadores de nombre y de ruta. Para ello, utiliza una
abstración de los nombres de archivo y de ruta llamada ruta abstracta. Las instancias
de la clase java.io.File son rutas abstractas en el sistema local, no archivos. El
hecho de tener un objeto del tipo File no significa que el archivo exista. La clase File
contiene métodos para obtener información acerca de los atributos de un archivo y para
manipularla.

Una ruta abstracta tiene dos componentes:


1. Un prefijo que es opcional y depende del sistema, como el nombre de la unidad

de disco, “/” para el directorio raíz en UNIX o “\\\\” para las rutas UNC de
Microsoft Windows.

2. Una secuencia de cero o más nombres.


El primer nombre en una ruta abstracta puede ser un nombre de directorio o en el caso
de las las rutas UNC de Microsoft Windows, un nombre de un huésped. Cada uno de
los nombres siguientes en una ruta abstracta es un directorio; el último nombre puede
ser un directorio o un archivo. Un nombre abstracto vacío no tiene prefijo y su
secuencia de nombres está vacía.

La conversión entre una ruta y una ruta abstracta o viceversa es dependiente del
sistema. Cuando una ruta abstracta se convierte a una ruta, cada nombre se separa del
siguiente mediante una copia del carácter separador por omisión que está definido por
la propiedad del sistema file.separator y esta disponible mediante los atributos
públicos estáticos separator y separatorChar de esta clase. caundo una ruta se
convierte a una ruta abstracta, los nombres pueden separarse por el carácter
separador por omisión o por cualquier otro carácter separador soportado por el
sistema.

Cada objeto de tipo File contiene un campo de tipo String llamado path que contiene
ya sea un una ruta relativa o absoluta al archivo incluyendo el nombre del archivo o
directorio. Muchos de los métodos de esta clase trabajan solamente inspeccionando
esta cadena. No necesariamente inspeccionan alguna parte del sistema de archivos.

En la figura 10.1 se muestra el diagrama de la clase File y en las tablas 10.1 y 10.2
los atributos y algunos de sus métodos.

ITSON



Manuel Domitsu Kono

Tema 10

Entrada / Salida

285

Figura 10.1 Diagrama de Clases de la Clase File.



Tabla 10.1. Atributos de la Clase File


public static final String pathSeparator

El caracter separador de rutas, dependiente del sistema, representado como una cadena. La cadena
contiene un solo carácter, el caracter separador de rutas.
public static final char pathSeparatorChar

El caracter separador de rutas, dependiente del sistema. Contiene el primer carácter de la propiedad
pathSeparator. Este carácter se utiliza para separar las rutas en una secuencia de archivos dada
com
  • Links de descarga
http://lwp-l.com/pdf11798

Comentarios de: Tema 10 - Entrada y Salida (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad