Publicado el 21 de Noviembre del 2019
1.160 visualizaciones desde el 21 de Noviembre del 2019
529,0 KB
30 paginas
Creado hace 15a (01/01/2010)
Manejo
básico
de
archivos
en
Java
Curso
2010/2011
Programación
2
Hasta
ahora
todos
los
datos
que
creábamos
en
nuestros
programas
solamente
existían
durante
la
ejecución
de
los
mismos.
Cuando
salíamos
del
programa,
todo
lo
que
habíamos
generado
se
perdía.
A
veces
nos
interesaría
que
la
vida
de
los
datos
fuera
más
allá
que
la
de
los
programas
que
los
generaron.
Es
decir,
que
al
salir
de
un
programa
los
datos
generados
quedaran
guardados
en
algún
lugar
que
permitiera
su
recuperación
desde
el
mismo
u
otros
programas.
Por
tanto,
querríamos
que
dichos
datos
fueran
persistentes.
En
este
capítulo
veremos
el
uso
básico
de
archivos
en
Java
para
conseguir
persistencia
de
datos.
Para
ello
presentaremos
conceptos
básicos
sobre
archivos
y
algunas
de
las
clases
de
la
biblioteca
estándar
de
Java
para
su
creación
y
manipulación.
Además,
el
uso
de
esas
bibliotecas
nos
obligará
a
introducir
algunos
conceptos
“avanzados”
de
programación
en
Java:
las
excepciones,
para
tratar
posibles
errores
durante
la
ejecución
de
un
programa,
y
manipulación
de
datos
a
bajo
nivel,
para
transformar
nuestros
datos
a
vectores
de
bytes.
Los
programas
usan
variables
para
almacenar
información:
los
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.
Cuando
se
desea
guardar
información
más
allá
del
tiempo
de
ejecución
de
un
programa
lo
habitual
es
organizar
esa
información
en
uno
o
varios
ficheros
almacenados
en
algún
soporte
de
almacenamiento
persistente.
Otras
posibilidades
como
el
uso
de
bases
de
datos
utilizan
archivos
como
soporte
para
el
almacenamiento
de
la
información.
Desde
el
punto
de
vista
de
más
bajo
nivel,
podemos
definir
un
archivo
(o
fichero)
como:
Es
decir,
un
conjunto
de
0s
y
1s
que
reside
fuera
de
la
memoria
del
ordenador,
ya
sea
en
el
disco
duro,
un
pendrive,
un
CD,
entre
otros.
J.M.
Gimeno
y
J.L.
González
Un
conjunto
de
bits
almacenados
en
un
dispositivo,
y
accesible
a
través
de
un
camino
de
acceso
(pathname)
que
lo
identifica.
1. El
concepto
de
archivo
Los
archivos
desde
el
bajo
nivel
1
El
criterio
del
contenido
Curso
2010/2011
Programación
2
Esa
versión
de
bajo
nivel,
si
bien
es
completamente
cierta,
desde
el
punto
de
vista
de
la
programación
de
aplicaciones,
es
demasiado
simple.
Por
ello
definiremos
varios
criterios
para
distinguir
diversas
subcategorías
de
archivos.
Estos
tipos
de
archivos
se
diferenciarán
desde
el
punto
de
vista
de
la
programación:
cada
uno
de
ellos
proporcionará
diferentes
funcionalidades
(métodos)
para
su
manipulación.
Sabemos
que
es
diferente
manipular
números
que
Strings,
aunque
en
el
fondo
ambos
acaben
siendo
bits
en
la
memoria
del
ordenador.
Por
eso,
cuando
manipulamos
archivos,
distinguiremos
dos
clases
de
archivos
dependiendo
del
tipo
de
datos
que
contienen:
• Los
archivos
de
caracteres
(o
de
texto)
• Los
archivos
de
bytes
(o
binarios)
Un
fichero
de
texto
es
aquél
formado
exclusivamente
por
caracteres
y
que,
por
tanto,
puede
crearse
y
visualizarse
usando
un
editor.
Las
operaciones
de
lectura
y
escritura
trabajarán
con
caracteres.
Por
ejemplo,
los
ficheros
con
código
java
son
ficheros
de
texto.
En
cambio
un
fichero
binario
ya
no
está
formado
por
caracteres
sino
que
los
bytes
que
contiene
pueden
representar
otras
cosas
como
números,
imágenes,
sonido,
etc.
Existen
dos
modos
básicos
de
acceso
a
la
información
contenida
en
un
archivo:
• Secuencial
• Acceso
directo
En
el
modo
secuencial
la
información
del
archivo
es
una
secuencia
de
bytes
(o
caracteres)
de
manera
que
para
acceder
al
byte
(o
carácter)
i-‐
ésimo
se
ha
de
haber
accedido
anteriormente
a
los
i-‐1
anteriores.
Un
ejemplo
de
acceso
secuencial
lo
hemos
visto
con
la
clase
StringTokenizer.
El
modo
de
acceso
directo
nos
permite
acceder
directamente
a
la
información
del
byte
i-‐ésimo.
Un
ejemplo
muy
conocido
de
acceso
directo
lo
tenemos
con
los
vectores
(arrays).
En
Java,
los
distintos
tipos
de
ficheros
se
diferencian
por
las
clases
que
usaremos
para
representarlos
y
manipularlos.
Como
las
clases
que
usaremos
pertenecen
a
la
biblioteca
estándar
del
lenguaje,
su
uso
es
J.M.
Gimeno
y
J.L.
González
2
2. Los
archivos
desde
Java
El
criterio
del
modo
de
acceso
Tratamiento
de
errores:
las
excepciones
Curso
2010/2011
Programación
2
algo
más
complejo
que
las
de
las
clases
de
la
ACM,
ya
que
su
diseño
se
ha
realizado
pensando
en
su
uso
industrial.
Las
clases
que
usaremos
para
el
tratamiento
de
ficheros
están
ubicadas
en
el
paquete
java.io
por
lo
que
deben
ser
importadas.
Además,
el
código
que
trabaja
con
archivos
ha
de
considerar
que
muchas
cosas
pueden
ir
mal
cuando
se
trabaja
con
ellos:
el
archivo
puede
estar
corrupto,
alguien
ha
desconectado
el
pendrive
a
medio
ejecutar
del
programa,
es
un
disco
en
red
y
ésta
ha
caído,
o
no
tiene
más
espacio
para
almacenar
información,
etc.
Es
por
ello
que,
aunque
de
forma
breve,
deberemos
introducir
el
mecanismo
estándar
en
Java
para
tratar
con
los
errores
que
pueden
darse
en
nuestro
programas:
las
excepciones.
Las
excepciones
son
un
mecanismo
que
permite
a
los
métodos
indicar
que
algo
“anómalo”
ha
sucedido
que
impide
su
correcto
funcionamiento,
de
manera
que
quien
los
ha
invocado
puede
detectar
la
situación
errónea.
Decimos
en
este
caso,
que
el
método
ha
lanzado
(throw)
una
excepción.
Cuando
esto
sucede,
en
vez
de
seguir
con
la
ejecución
normal
de
instrucciones,
se
busca
hacia
atrás
en
la
secuencia
de
llamadas1
si
hay
alguna
que
quiera
atraparla
(catch).
Si
ninguna
de
las
llamadas
decide
atraparla,
el
programa
acaba
su
ejecución
y
se
informa
al
usuario
del
error
que
se
ha
producido
la
excepción
y
que
nadie
ha
tratado.
Muchas
de
las
excepciones
que
existen
en
Java,
por
ejemplo,
dividir
por
0,
son
excepciones
en
tiempo
de
ejecución
(runtime
exceptions)
y
no
obligan
a
que
el
programador
las
trate
explícitamente
(claro
que
si
el
código
no
las
trata
y
durante
la
ejecución
del
programa
se
producen,
el
programa
finalizará
con
un
“bonito”
mensaje
de
error).
En
Java,
existe
otro
tipo
de
excepciones,
las
denominadas
excepciones
comprobadas
(checked
exceptions),
que
obligan
al
programador
que
dentro
del
código
de
un
método
invoca
una
instrucción
que
puede
lanzarla
a
• o
bien
atrapar
dicha
excepción
(colocando
dicha
instrucción
en
un
bloque
try-‐catch)
• o
bien,
declarar
en
la
cabecera
del
método
que
dicho
método
puede
lanzar
esa
excepción
(usando
una
declaración
throws).
1
El
Comentarios de: Manejo básico de archivos en Java (0)
No hay comentarios