Saltar navegación

Activa JavaScript para disfrutar de los vídeos de la Mediateca.

Usar Scanner para buscar en un fichero delimitado - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 28 de febrero de 2021 por Amadeo M.

101 visualizaciones

Descargar la transcripción

Para finalizar esta serie de vídeos sobre Scanner, pues vamos a generalizar este método, vamos a crear un método que va a ser un método estático, pero podríamos convertirlo perfectamente dentro de una clase en el cual vamos a buscar información con un separador. 00:00:00
Bueno, le voy a llamar a buscar, le voy a pasar la ruta del fichero en el cual voy a buscar y le voy a pasar también el texto o la clave a buscar. 00:00:21
En este caso estamos suponiendo que la clave se encuentra en el primer campo. 00:00:35
Muy bien, pues sabiendo esto, casi casi lo que voy a hacer es llevarme casi todo lo que hay aquí, me lo voy a llevar allí. 00:00:39
Y ya veremos lo que podemos desechar. 00:00:47
bueno, vamos a hacer esto y lo primero que vamos a abrir es el fichero 00:00:51
el fichero que vamos a abrir es cualquier fichero 00:00:56
y el usuario realmente, ya no es el usuario, va a ser el campo clave 00:01:00
con lo cual este le puedo quitar de aquí y ya está 00:01:06
bien, intentamos abrir nuestro fichero 00:01:09
y puede ocurrir que el fichero no exista 00:01:15
Con lo cual, podemos ponerle un mensaje que digamos, ruta no es accesible, o cualquier cuestión por el estilo, ¿vale? 00:01:18
Algo por el estilo, y que devuelva un valor, un retur. 00:01:28
Incluso podemos decir que buscar pudiera dar un boolean que dijera true si lo ha encontrado, y false si no. 00:01:32
Eso me parece incluso más elegante, con lo cual vamos a decir que sea un boolean. 00:01:40
Y entonces, en este caso, RETURN devolvería directamente el valor falso. 00:01:43
Bien, la siguiente parte, pues prácticamente es igual. 00:01:51
Vamos leyendo líneas y aquí vamos a comparar, no con usuarios, sino con el campo clave que nos han pasado. 00:01:53
Perfecto. 00:02:00
Aquí directamente hemos mostrado este valor, el valor de las líneas que teníamos. 00:02:02
Bien, pero ¿qué ocurre si ningún usuario, este usuario que nos pasa, no existe? 00:02:08
Que en el otro caso devolvía simplemente una información vacía. 00:02:13
En este caso quiero que muestre esta información y que además me devuelva que hay un error. 00:02:17
¿De acuerdo? 00:02:24
Entonces si yo puedo incluir aquí una cuestión muy simple que diga encontrado, 00:02:25
crear una variable boolean que diga encontrado y que de momento yo no he encontrado nada. 00:02:29
entonces voy a hacer todo esto 00:02:36
voy a ir a 00:02:40
hacer 00:02:42
todas estas líneas 00:02:44
si el primer campo 00:02:45
es igual que clave y no está 00:02:49
encontrado, entonces si no está encontrado 00:02:51
el primer campo 00:02:55
es igual a false, haré todo esto 00:02:57
¿vale? en caso de que entre aquí 00:02:59
dentro está claro que ya lo he encontrado 00:03:01
con lo cual lo pongo a true 00:03:03
¿vale? 00:03:05
Y después, finalmente, yo puedo decirle cuando acabe mi programa, cuando acabe completamente, 00:03:08
retur, encontrado, retur, encontrado. 00:03:14
Aquí se enfada porque dice encontrado no estaba definido antes de empezar y efectivamente en eso lleva razón. 00:03:18
Este boolean encontrado o falso debería estar antes del bucle principal, debería estar por lo menos ahí. 00:03:23
Y entonces con esto ya sabemos si ha encontrado o no. 00:03:30
pero es más, a lo mejor queremos mostrar un mensaje de error 00:03:32
y decir, el usuario no se ha encontrado en este 00:03:36
la clave no se ha encontrado en este fichero 00:03:41
con lo cual podemos también poner un mensajito 00:03:43
que digamos aquí al final, si no encontrado 00:03:47
pues en System.err.inline 00:03:50
vamos a poner clave no encontrada 00:03:56
en el fichero, como se llame, ruta 00:04:06
y ya está, y finalmente nos salimos 00:04:13
podríamos esto mejorarlo, ponerle mensajes más interesantes 00:04:17
establecer unos códigos de error, todo lo que queramos, pero la idea del programa 00:04:21
sería esta de aquí, bueno, ahora ya podemos probar 00:04:25
nuestro programa de varias maneras, por ejemplo, vamos a probar 00:04:29
nuestro método, se llama buscar, y vamos a decirle 00:04:32
que nos muestre buscar 00:04:37
en el fichero 00:04:42
etc.group, por variar 00:04:45
la información ADM. Está casi seguro 00:04:52
que va a existir. Ahora voy a poner un fichero que sepa que no existe 00:04:57
pues etc.xxx 00:05:01
y ahora voy a buscar un grupo 00:05:05
dentro de group que sepa que tampoco existe 00:05:09
y vamos a ver las tres salidas que nos pueden dar 00:05:13
vamos a por ello 00:05:15
me vengo aquí, en el primer caso ADM existe 00:05:16
y está claro que esta es la información que nos proporciona 00:05:25
en el segundo caso me está diciendo que este fichero no es accesible 00:05:29
y me devuelve false 00:05:33
en el primer caso me ha devuelto true 00:05:34
y en este caso también me ha devuelto false 00:05:35
con lo cual tengo ya una utilidad 00:05:38
perfectamente diseñada 00:05:41
que solamente se falta documentarla para saber 00:05:44
qué es lo que hace, no nos olvidemos nunca de documentar lo que hacemos 00:05:47
para que los demás puedan utilizarlo posteriormente 00:05:51
entonces busca información 00:05:55
en ficheros de texto 00:05:59
separados por dos puntos 00:06:02
siendo el campo de búsqueda 00:06:06
el primero 00:06:10
ruta del fichero de búsqueda 00:06:14
clave a buscar 00:06:19
retortrue si encontrado 00:06:22
false en caso contrario 00:06:27
y con esto ya tendríamos perfectamente finalizado nuestra utilidad 00:06:31
Idioma/s:
es
Autor/es:
Amadeo Mora
Subido por:
Amadeo M.
Licencia:
Dominio público
Visualizaciones:
101
Fecha:
28 de febrero de 2021 - 17:02
Visibilidad:
Público
Centro:
IES CLARA DEL REY
Duración:
06′ 40″
Relación de aspecto:
16:9 Es el estándar usado por la televisión de alta definición y en varias pantallas, es ancho y normalmente se le suele llamar panorámico o widescreen, aunque todas las relaciones (a excepción de la 1:1) son widescreen. El ángulo de la diagonal es de 29,36°.
Resolución:
908x512 píxeles
Tamaño:
14.83 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid