Sei sulla pagina 1di 3

Video 158

¿Qué ocurre cuando se cambia de versión el programa que se encarga de serializar el programa?

Serializar objetos sirve para poder enviarlos por la red a un receptor, y esto puede ser posible si el
emisor y receptor tienen una copia idéntica del programa JAVA y la misma versión del programa.

Todos los programas tienen un numero identificativo (SHA), esto quiere decir, que cada programa
tiene su número propio, o más bien, su huella única (sucesión de 20 bytes). Esta huella la realiza el
compilador de Java con cálculos complejos analizando cómo está construido ese programa y
genera la huella.

** Investiga la criptografía de Java** :V

Por lo tanto, ambos deben tener el mismo programa con el mismo número de serialVersionUID.

Java hace una comprobación muy estricta a la hora de serializar objetos, de que el objeto
serializado tiene el mismo serialVersionUID que el programa va a tratar de leer el objeto.

Un problema común que surge es que al crear un objeto serializado en una nueva versión del
programa se envía al receptor con una versión del programa antigua este no podrá leer el objeto
serializado. La solución de este es crear una constante de tipo Long de clase estática encapsulada
que debe llamarse serialVersionUID y darle un valor, por defecto suele ser un 1. Y al cambiar de
versión se debe cambiar el valor.

*La robe del video >:V*

Así, al actualizar la versión por el emisor y el receptor no ha actualizado, esto no va a influir porque
mantienen la misma huella.

Siempre que en un programa de Java se cree una clase que implemente la interfaz serializable o
que la herede y la implemente, el compilador va a arrojar un Warning.

Video 159

Ficheros y directorios

Cuando hablamos de manipular el sistema de archivos nos referimos a ver que archivos puede
haber por ejemplo en un ruta en concreto, ver las propiedades de esos archivos y directorio e
incluso poder crear y borrar nuevos ficheros y directorios.

Para poder hacer todas estas tareas vamos a utilizar una única clase de la API de Java (Clase File)

La clase File permite manipular archivos, documentos o carpetas.


El método String getAbsolutePath() devuelve datos de tipo String, un texto de la ruta absoluta de
un archivo o directorio

El método Boolean Exists() especifica si un archivo o directorio existen

El método String[] list() arroja un array de Strings con los nombres y directorios que se encuentran
dentro de la ruta especificada.

El método Boolean isDirectory() devuelve un verdadero o falso indicando si lo que estamos


examinando es un directorio o no lo es.

El método String getPath() devuelve la ruta con la que se creó el objeto File. Puede ser relativa o
no.

El método String getCanonicalPath() devuelve la ruta única absoluta asociada al objeto File. Puede
haber varias rutas absolutas asociadas a un File pero solo una única ruta canónica. Lanza una
excepción del tipo IOException.

Video 160

FICHERIOS Y ESCRITORIOS II

Creacion, escritura y eliminación.

Antes de comenzar con todo esto, existe un tema fundamental acerca de las rutas, Java pretende
ser un lenguaje multiplataforma, por lo tanto, dependiendo de los sistemas operativos la barra
que se utiliza para las rutas (/ o \) suelen ser diferentes. En Windows puede ser una barra y en
Linux otra.

Para esto solo se utiliza un separador de tipo String e ir concatenando la dirección con
File.separator() en lugar del / o \

El método Mkdir() crea un directorio tal cual especifiquemos en el Path name y para crear un
archivo deberemos indicarlo como nombre de archivo (por ejemplo archivo.extension) y usamos el
método createNewFile().
Para borrar un archivo usamos el método Delete();

Potrebbero piacerti anche