Archivos en java,
definiciones y
ejemplos
Flujos de datos
La información que se necesita un
programa para su función obtiene mediante
una entrada de datos de una fuente que
puede ser de tipos muy variados, puede de
texto, binario, imágenes, etc.
Flujos de datos
Para obtener la información, el programa abre un conducto (stream)
de entrada a la
fuente de información (archivo, memoria, red...).
Para enviar información, el programa abre un conducto (stream) de
salida al destino
externo de información (archivo, red, memoria...)
Creación lectura y escritura de flujo
Todos los datos fluyen a través del ordenador desde una
entrada hacia una salida. Este flujo de datos se denomina
también stream. Hay un flujo de entrada (input stream) que
manda los datos desde el exterior (normalmente el teclado)
del ordenador, y un flujo de salida (output stream) que dirige
los datos hacia los dispositivos de salida (la pantalla o un
archivo).
Creación, lectura y escritura de flujo
• El proceso para leer o escribir datos consta de
tres pasos
• Abrir el flujo de datos
• Mientras exista más información (leer o
escribir ) los datos
• Cerrar el flujo de datos
Creación, lectura y escritura de flujo
Creación
 Se describen mediante clases que forman jerarquías según
sea el tipo de dato char unicode de 16 bits o byte de 8 bits
 La característica de internacionalización del lenguaje Java
es la razón por la que existe una jerarquía separada de
clases para la lectura y escritura de caracteres.
 Todas estas clases se encuentran en el paquete java.io, por
lo que al principio del código fuente tendremos que escribir
la sentencia
import java.io.*;
Creación, lectura y escritura de flujo
• char Unicode, 16 bits byte, 8 bits
Creación, lectura y escritura de flujo
Lectura
Las clases Reader e InputStream son similares aunque
se refieren a distintos tipos de datos, lo mismo ocurre
con Writer y OutputSream.
Por ejemplo, Reader proporciona tres métodos para
leer un carácter
métodos similares para leer un byte o un array de
bytes.
int read()
int read(byte buf[])
int read(byte buf[], int offset, int len)
.
Creación, lectura y escritura de flujo
Escritura
La clase Writer proporciona tres métodos para escribir
un carácter char o un array de caracteres
int write(int c)
int write(char buf[])
int write(char buf[], int offset, int len)
La clase OutputStream proporciona métodos similares
int write(int c)
int write(byte buf[])
int write(byte buf[], int offset, int len)
Archivos, directorios y rutas
Archivos Directorios Rutas
Conjunto de datos
de largo variable
identificado con un
nombre. Un
nombre de archivo
suele tener dos
partes separadas
por un punto. La
primera parte alude
a su propósito; la
segunda, llamada
extensión,
Es un contenedor
virtual en el que se
almacenan una
agrupación de
archivos de datos y
otros subdirectorios,
atendiendo a su
contenido, a su
propósito o a
cualquier criterio
que decida el
usuario.
Señala la
localización exacta
de un archivo o
directorio mediante
una cadena de
caracteres concreta.
Ésta puede ser de
diversas formas
dependiendo del
sistema operativo y
del sistema de
archivos en
cuestión
Creacion, eliminacion y renombre de
archivos
• Desde un punto de vista de
lectura y escritura un archivo se
trata de una secuencia continua
de datos, ya sean bytes o
caracteres, en una forma básica
de utilizar un archivo para la
entrada y salida de datos como el
ejemplo siguiente:
• Forma básica de utilizar un
archivo para entrada y
salida de datos
Serializacion de objetos
La serialización de un objeto consiste en
obtener una secuencia de bytes que
represente el estado de dicho objeto. Esta
secuencia puede utilizarse de varias maneras
(puede enviarse a través de la red, guardarse
en un fichero para su uso posterior, utilizarse
para recomponer el objeto original, etc.).
Serializacion de objetos
Estado de un objeto
public class
MiFecha
{
protected int n;
protected Date fecha;
protected transient long s;
. . .
}
En este ejemplo, los atributos n y fecha serán incluídos en la
secuencia de bytes resultante de serializar un objeto de clase MiFecha. El
atributo s noserá incluído, por tener el modificador transient.
Serializacion de objetos
Objetos serializables
• es un objeto que se puede
convertir en una secuencia de
bytes. Para que un objeto sea
serializable, debe implementar
la interfaz java.io.Serializable).
Objetos tan comunes como
String, Vector o ArrayList
implementan Serializable, de
modo que pueden ser
serializados y reconstruídos
más tarde.
Almacenamiento de objetos
Es posible utilizar los
mecanismos deserialización
disponibles para serializar
un objeto guardándolo en
un fichero y para realizar el
proceso inverso,
recuperándolo desde el
fichero.
Armando estructura de almacenamiento a
partir de estructura de almacenamiento
Los algoritmos requieren una presentacion apropiada de los datos para
lograr ser eficientes. Esta representación junto con las operaciones
permitidas se llama estructura de datos
Matriz (array)
Estructura de
datos que conta
de un numero
fijo de elementos
del mismo tipo.
Vectores,
matrices
unidimensionales
Pila Cola
permite acceder al
elemento mas antiguo
Array
se definen y utilzan con el
operador de indexacion
n programación, una matriz
o vector (llamados en
inglés arrays) es una zona
de almacenamiento
continuo, que contiene una
serie de elementos del
mismo tipo, los elementos
de la matriz
, LIFO(Last in
Fisrt Out)
estructura de
datos en el cual
el acceso
esta limitado al
elemento mas
recientemente
insertado
GRACIAS POR
SU ATENCION

Programacion no numerica2

  • 1.
  • 2.
    Flujos de datos Lainformación que se necesita un programa para su función obtiene mediante una entrada de datos de una fuente que puede ser de tipos muy variados, puede de texto, binario, imágenes, etc.
  • 3.
    Flujos de datos Paraobtener la información, el programa abre un conducto (stream) de entrada a la fuente de información (archivo, memoria, red...). Para enviar información, el programa abre un conducto (stream) de salida al destino externo de información (archivo, red, memoria...)
  • 4.
    Creación lectura yescritura de flujo Todos los datos fluyen a través del ordenador desde una entrada hacia una salida. Este flujo de datos se denomina también stream. Hay un flujo de entrada (input stream) que manda los datos desde el exterior (normalmente el teclado) del ordenador, y un flujo de salida (output stream) que dirige los datos hacia los dispositivos de salida (la pantalla o un archivo).
  • 5.
    Creación, lectura yescritura de flujo • El proceso para leer o escribir datos consta de tres pasos • Abrir el flujo de datos • Mientras exista más información (leer o escribir ) los datos • Cerrar el flujo de datos
  • 6.
    Creación, lectura yescritura de flujo Creación  Se describen mediante clases que forman jerarquías según sea el tipo de dato char unicode de 16 bits o byte de 8 bits  La característica de internacionalización del lenguaje Java es la razón por la que existe una jerarquía separada de clases para la lectura y escritura de caracteres.  Todas estas clases se encuentran en el paquete java.io, por lo que al principio del código fuente tendremos que escribir la sentencia import java.io.*;
  • 7.
    Creación, lectura yescritura de flujo • char Unicode, 16 bits byte, 8 bits
  • 8.
    Creación, lectura yescritura de flujo Lectura Las clases Reader e InputStream son similares aunque se refieren a distintos tipos de datos, lo mismo ocurre con Writer y OutputSream. Por ejemplo, Reader proporciona tres métodos para leer un carácter métodos similares para leer un byte o un array de bytes. int read() int read(byte buf[]) int read(byte buf[], int offset, int len) .
  • 9.
    Creación, lectura yescritura de flujo Escritura La clase Writer proporciona tres métodos para escribir un carácter char o un array de caracteres int write(int c) int write(char buf[]) int write(char buf[], int offset, int len) La clase OutputStream proporciona métodos similares int write(int c) int write(byte buf[]) int write(byte buf[], int offset, int len)
  • 10.
    Archivos, directorios yrutas Archivos Directorios Rutas Conjunto de datos de largo variable identificado con un nombre. Un nombre de archivo suele tener dos partes separadas por un punto. La primera parte alude a su propósito; la segunda, llamada extensión, Es un contenedor virtual en el que se almacenan una agrupación de archivos de datos y otros subdirectorios, atendiendo a su contenido, a su propósito o a cualquier criterio que decida el usuario. Señala la localización exacta de un archivo o directorio mediante una cadena de caracteres concreta. Ésta puede ser de diversas formas dependiendo del sistema operativo y del sistema de archivos en cuestión
  • 11.
    Creacion, eliminacion yrenombre de archivos • Desde un punto de vista de lectura y escritura un archivo se trata de una secuencia continua de datos, ya sean bytes o caracteres, en una forma básica de utilizar un archivo para la entrada y salida de datos como el ejemplo siguiente: • Forma básica de utilizar un archivo para entrada y salida de datos
  • 12.
    Serializacion de objetos Laserialización de un objeto consiste en obtener una secuencia de bytes que represente el estado de dicho objeto. Esta secuencia puede utilizarse de varias maneras (puede enviarse a través de la red, guardarse en un fichero para su uso posterior, utilizarse para recomponer el objeto original, etc.).
  • 13.
    Serializacion de objetos Estadode un objeto public class MiFecha { protected int n; protected Date fecha; protected transient long s; . . . } En este ejemplo, los atributos n y fecha serán incluídos en la secuencia de bytes resultante de serializar un objeto de clase MiFecha. El atributo s noserá incluído, por tener el modificador transient.
  • 14.
    Serializacion de objetos Objetosserializables • es un objeto que se puede convertir en una secuencia de bytes. Para que un objeto sea serializable, debe implementar la interfaz java.io.Serializable). Objetos tan comunes como String, Vector o ArrayList implementan Serializable, de modo que pueden ser serializados y reconstruídos más tarde. Almacenamiento de objetos Es posible utilizar los mecanismos deserialización disponibles para serializar un objeto guardándolo en un fichero y para realizar el proceso inverso, recuperándolo desde el fichero.
  • 15.
    Armando estructura dealmacenamiento a partir de estructura de almacenamiento Los algoritmos requieren una presentacion apropiada de los datos para lograr ser eficientes. Esta representación junto con las operaciones permitidas se llama estructura de datos Matriz (array) Estructura de datos que conta de un numero fijo de elementos del mismo tipo. Vectores, matrices unidimensionales Pila Cola permite acceder al elemento mas antiguo Array se definen y utilzan con el operador de indexacion n programación, una matriz o vector (llamados en inglés arrays) es una zona de almacenamiento continuo, que contiene una serie de elementos del mismo tipo, los elementos de la matriz , LIFO(Last in Fisrt Out) estructura de datos en el cual el acceso esta limitado al elemento mas recientemente insertado
  • 16.