1 00:00:02,930 --> 00:00:05,410 Vale, lo último, que no me habéis preguntado 2 00:00:05,410 --> 00:00:06,230 y me extraña 3 00:00:06,230 --> 00:00:10,929 con lo espabilados y listos que soy 4 00:00:10,929 --> 00:00:11,630 mira que me extraña 5 00:00:11,630 --> 00:00:16,660 A ver, siempre que hemos puesto 6 00:00:16,660 --> 00:00:18,640 implement serializable 7 00:00:18,640 --> 00:00:21,079 en una clase, porque queríamos 8 00:00:21,079 --> 00:00:22,600 usarla dentro de 9 00:00:22,600 --> 00:00:24,920 object output stream y object input stream 10 00:00:24,920 --> 00:00:26,920 para moverla de un fichero a otro serializada 11 00:00:26,920 --> 00:00:27,600 toda en filita 12 00:00:27,600 --> 00:00:30,280 nos han obligado esas clases 13 00:00:30,280 --> 00:00:32,140 a poner esto, ¿verdad? 14 00:00:32,740 --> 00:00:34,219 nos han obligado a poner esta cosa 15 00:00:34,219 --> 00:00:35,659 implement serializable 16 00:00:35,659 --> 00:00:39,619 porque esa es la forma de darle a esas entidades 17 00:00:39,619 --> 00:00:41,820 la capacidad de ser usadas 18 00:00:41,820 --> 00:00:43,539 por object output string 19 00:00:43,539 --> 00:00:45,079 y por object input string 20 00:00:45,079 --> 00:00:47,000 y cuando lo hemos puesto 21 00:00:47,000 --> 00:00:49,140 se nos ha puesto esto en amarillo 22 00:00:49,140 --> 00:00:51,060 que no es grave porque es un aviso 23 00:00:51,060 --> 00:00:52,820 solamente, es un aviso 24 00:00:52,820 --> 00:00:55,280 entonces a los avisos uno puede no atender 25 00:00:55,280 --> 00:00:58,700 pero si atendemos a ellos 26 00:00:58,700 --> 00:01:00,359 a ver si nos aporta algo interesante 27 00:01:00,359 --> 00:01:02,200 pues este aviso nos dice 28 00:01:02,200 --> 00:01:04,959 deberías incluir o incluye 29 00:01:04,959 --> 00:01:07,859 o te falta o algo así, un serial number, ¿no? 30 00:01:10,500 --> 00:01:11,340 ¿Ya lo sabes? 31 00:01:12,340 --> 00:01:13,280 A ver, explícanos. 32 00:01:13,719 --> 00:01:14,500 ¿Cómo que no? 33 00:01:17,480 --> 00:01:21,859 Bueno, un serial number es un long, ¿es un long o un int? 34 00:01:21,900 --> 00:01:22,519 Un long, ¿verdad? 35 00:01:23,379 --> 00:01:25,500 Muy bien, muy bien, ay, de verdad, ¿eh? 36 00:01:26,219 --> 00:01:28,359 Ay, Dios mío, qué empollón, ay, qué, qué, qué. 37 00:01:30,180 --> 00:01:33,459 Vale, pues es un long que uno puede incluir aquí. 38 00:01:35,219 --> 00:01:36,680 El numerito que le dé la gana. 39 00:01:36,719 --> 00:01:38,319 27, 32 40 00:01:38,319 --> 00:01:40,760 él te puede generar uno 41 00:01:40,760 --> 00:01:41,879 por defecto, de hecho 42 00:01:41,879 --> 00:01:44,799 si atendemos a la sugerencia que nos hace 43 00:01:44,799 --> 00:01:46,579 le digo, venga pues 44 00:01:46,579 --> 00:01:48,140 házmelo tú, anda ya que te pones 45 00:01:48,140 --> 00:01:51,439 pues me añade uno 46 00:01:51,439 --> 00:01:54,239 me añade el uno, me añade esta 47 00:01:54,239 --> 00:01:55,519 variable estática 48 00:01:55,519 --> 00:01:58,540 veis que no es una propiedad 49 00:01:58,540 --> 00:02:00,319 de reserva, no es una 50 00:02:00,319 --> 00:02:02,079 propiedad, es una variable estática 51 00:02:02,079 --> 00:02:04,120 común a todas las reservas 52 00:02:04,120 --> 00:02:06,519 con lo cual es una información sobre la clase 53 00:02:06,519 --> 00:02:08,240 en realidad, es una información sobre la clase 54 00:02:08,240 --> 00:02:10,180 ¿vale? 55 00:02:11,199 --> 00:02:12,520 entonces ahora vamos a ver para qué 56 00:02:12,520 --> 00:02:14,620 vamos a mencionar para qué sirve 57 00:02:14,620 --> 00:02:16,560 si le digo, oye, te hago 58 00:02:16,560 --> 00:02:18,500 una generada más bonita, pues 59 00:02:18,500 --> 00:02:20,199 esta generada, pues, uy 60 00:02:20,199 --> 00:02:22,599 más bonita todavía 61 00:02:22,599 --> 00:02:24,580 ¿vale? un poco 62 00:02:24,580 --> 00:02:26,560 larga, pero bueno, el caso es que es 63 00:02:26,560 --> 00:02:28,819 un numerito long, que acompaña 64 00:02:28,819 --> 00:02:30,699 a la clase, uno por clase 65 00:02:30,699 --> 00:02:32,379 nada de uno por reserva 66 00:02:32,379 --> 00:02:34,379 porque por eso es static 67 00:02:34,379 --> 00:02:57,169 ¿Vale? ¿Cuándo es importante este número de serie? La aplicación está, funcionan, tenemos nuestra aplicación reservas que ya mete cosas, hace su object input string, su object output string, hace cosas y de repente cambiamos, reserva y le añadimos una propiedad, ¿vale? 68 00:02:57,169 --> 00:02:59,689 pues si no tenemos número de serie 69 00:02:59,689 --> 00:03:03,569 la hemos liado, ¿vale? 70 00:03:03,650 --> 00:03:05,430 porque el número de serie 71 00:03:05,430 --> 00:03:07,870 es el que identifica a esa clase 72 00:03:07,870 --> 00:03:09,590 para la object input stream 73 00:03:09,590 --> 00:03:12,330 independiente de las propiedades 74 00:03:12,330 --> 00:03:12,870 que tenga 75 00:03:12,870 --> 00:03:15,310 independiente de las propiedades que tenga 76 00:03:15,310 --> 00:03:17,490 si yo no pongo el serial version 77 00:03:17,490 --> 00:03:19,629 y nunca jamás cambia mi aplicación 78 00:03:19,629 --> 00:03:21,550 no pasa nada, yo ¿qué hago? 79 00:03:21,629 --> 00:03:23,810 con object input stream escribo una reserva 80 00:03:23,810 --> 00:03:25,990 muy bien, el object input stream 81 00:03:25,990 --> 00:03:27,930 necesita identificar 82 00:03:27,930 --> 00:03:30,289 la clase reserva tal y como la tiene en la cabecera 83 00:03:30,289 --> 00:03:32,270 ¿vale? tal y como la tiene en la cabecera 84 00:03:32,270 --> 00:03:34,250 entonces, si yo no he puesto esto 85 00:03:34,250 --> 00:03:35,870 cada vez que yo hago un object 86 00:03:35,870 --> 00:03:36,849 output stream 87 00:03:36,849 --> 00:03:39,349 él genera en la cabecera 88 00:03:39,349 --> 00:03:41,629 un serial cualquiera 89 00:03:41,629 --> 00:03:42,569 el que le da la gana 90 00:03:42,569 --> 00:03:45,629 entonces, el object 91 00:03:45,629 --> 00:03:47,930 input stream para leerlo, mira ese 92 00:03:47,930 --> 00:03:49,569 serial, busca la clase 93 00:03:49,569 --> 00:03:50,930 y ya el casting 94 00:03:50,930 --> 00:03:52,310 funciona 95 00:03:52,310 --> 00:03:56,069 ¿qué ocurre si de repente 96 00:03:56,069 --> 00:03:57,849 cambio aquí 97 00:03:57,849 --> 00:04:00,169 y pongo una propiedad diferente 98 00:04:00,169 --> 00:04:01,710 pongo una propiedad, entonces 99 00:04:01,710 --> 00:04:03,830 como mi clase ha cambiado 100 00:04:03,830 --> 00:04:06,189 cuando yo haga object output string 101 00:04:06,189 --> 00:04:08,069 como mi clase es distinta, pues va a meter 102 00:04:08,069 --> 00:04:10,409 otro número de serie 103 00:04:10,409 --> 00:04:11,569 ¿vale? 104 00:04:12,069 --> 00:04:14,210 entonces cuando él luego haga el casting 105 00:04:14,210 --> 00:04:15,629 ya el casting no le va a funcionar 106 00:04:15,629 --> 00:04:18,490 ¿vale? porque el objeto que escribió 107 00:04:18,490 --> 00:04:20,189 antes estaba con el número de serie 108 00:04:20,189 --> 00:04:22,110 de la clase anterior, entonces 109 00:04:22,110 --> 00:04:24,389 hace el casting, no me lo ha actualizado 110 00:04:24,389 --> 00:04:26,250 me dice, uy, me falta aquí 111 00:04:26,250 --> 00:04:27,949 una propiedad, yo en nueve. 112 00:04:29,149 --> 00:04:30,269 Entonces, el número 113 00:04:30,269 --> 00:04:32,689 de serie, si lo ponemos, 114 00:04:33,189 --> 00:04:33,990 es interesante 115 00:04:33,990 --> 00:04:35,329 dejarlo ahí, no molesta, 116 00:04:36,029 --> 00:04:37,610 porque identifica la clase 117 00:04:37,610 --> 00:04:39,750 para los diferentes cambios que haya. 118 00:04:39,889 --> 00:04:41,250 La identifica para la aplicación. 119 00:04:42,050 --> 00:04:43,290 Entonces, a la hora de hacer casting, 120 00:04:44,410 --> 00:04:45,649 aunque la aplicación, aunque 121 00:04:45,649 --> 00:04:48,209 hayan aparecido propiedades 122 00:04:48,209 --> 00:04:50,110 nuevas, ese casting 123 00:04:50,110 --> 00:04:51,430 va a decir, ah, espérate, 124 00:04:52,610 --> 00:04:53,930 yo voy a hacer el casting 125 00:04:53,930 --> 00:04:55,490 y aquí me falta una propiedad. 126 00:04:56,250 --> 00:04:58,329 vale, pero es que esta clase 127 00:04:58,329 --> 00:05:00,209 cambió, porque el número 128 00:05:00,209 --> 00:05:02,250 de serie es el mismo, la clase cambió 129 00:05:02,250 --> 00:05:03,670 entonces aunque me falte una propiedad 130 00:05:03,670 --> 00:05:06,269 no te voy a dar problema de casting, me invento su valor 131 00:05:06,269 --> 00:05:08,389 no sé si 132 00:05:08,389 --> 00:05:10,189 más o menos entendéis, porque no me he explicado muy bien 133 00:05:10,189 --> 00:05:12,149 el tema es, tú lees un objeto 134 00:05:12,149 --> 00:05:14,149 del archivo que se generó 135 00:05:14,149 --> 00:05:15,089 con la versión antigua 136 00:05:15,089 --> 00:05:17,470 una propiedad no la tiene 137 00:05:17,470 --> 00:05:19,149 la propiedad, por ejemplo 138 00:05:19,149 --> 00:05:21,910 pues, encargado 139 00:05:21,910 --> 00:05:24,009 dependiente que lo hizo 140 00:05:24,009 --> 00:05:25,529 el que sea, una propiedad no la tiene 141 00:05:25,529 --> 00:05:28,310 entonces, él cuando va a hacer el casting 142 00:05:28,310 --> 00:05:31,069 dice, perdona, no puedo hacer el casting 143 00:05:31,069 --> 00:05:32,569 porque yo acabo de leer un objeto 144 00:05:32,569 --> 00:05:34,629 y no tengo la propiedad 145 00:05:34,629 --> 00:05:36,370 encargado, no la tengo 146 00:05:36,370 --> 00:05:38,670 no puedo hacer el casting, error de casting 147 00:05:38,670 --> 00:05:40,709 cast, de hecho lo podríamos probar ahora 148 00:05:40,709 --> 00:05:43,189 a cambiar una propiedad 149 00:05:43,189 --> 00:05:44,750 y tratar de trabajar con el 150 00:05:44,750 --> 00:05:46,430 fichero antiguo 151 00:05:46,430 --> 00:05:48,750 sin haber hecho esto, nos diría un error 152 00:05:48,750 --> 00:05:50,569 de casting, no puedo hacer el casting porque estoy 153 00:05:50,569 --> 00:05:51,410 leyendo objetos 154 00:05:51,410 --> 00:05:54,610 trato de hacer el casting y a esos objetos les 155 00:05:54,610 --> 00:05:56,589 falta una propiedad, claro, porque los guardé cuando 156 00:05:56,589 --> 00:05:58,529 no estaba, vale 157 00:05:58,529 --> 00:06:01,029 si nosotros hubiéramos desde el principio 158 00:06:01,029 --> 00:06:02,529 añadido 159 00:06:02,529 --> 00:06:03,430 un número de serie 160 00:06:03,430 --> 00:06:06,610 entonces cuando ahora ya el object input 161 00:06:06,610 --> 00:06:08,329 string lee el objeto viejo 162 00:06:08,329 --> 00:06:10,649 dice, uy ojo, perdona 163 00:06:10,649 --> 00:06:12,610 que este objeto pertenece 164 00:06:12,610 --> 00:06:14,569 a esta clase, porque el 165 00:06:14,569 --> 00:06:16,129 número de serie es el mismo 166 00:06:16,129 --> 00:06:18,310 el número de serie con el que se generó 167 00:06:18,310 --> 00:06:19,790 es el de esta clase 168 00:06:19,790 --> 00:06:21,990 pertenece a esta clase 169 00:06:21,990 --> 00:06:24,029 pero le falta 170 00:06:24,029 --> 00:06:25,910 una propiedad, no pasa nada, le doy el valor 171 00:06:25,910 --> 00:06:27,970 por defecto, un 0 si es 172 00:06:27,970 --> 00:06:30,149 un número, un 0 si es un objeto, no pasa nada 173 00:06:30,149 --> 00:06:31,410 porque yo sé 174 00:06:31,410 --> 00:06:33,930 que este objeto pertenece a la clase 175 00:06:33,930 --> 00:06:36,029 reserva, aunque la clase reserva 176 00:06:36,029 --> 00:06:38,149 se haya modificado, no pasa nada 177 00:06:38,149 --> 00:06:39,910 porque yo estoy viendo en la cabecera 178 00:06:39,910 --> 00:06:41,790 que su número de serie es este 179 00:06:41,790 --> 00:06:43,970 entonces el número de serie es 180 00:06:43,970 --> 00:06:45,970 el que le da el dato de que 181 00:06:45,970 --> 00:06:47,990 es a esta clase al que le tiene que hacer el casting 182 00:06:47,990 --> 00:06:49,970 que no pasa nada, aunque a esta clase le hayan 183 00:06:49,970 --> 00:06:51,709 aparecido propiedades, no pasa nada 184 00:06:51,709 --> 00:06:53,569 el número de serie me casa 185 00:06:53,569 --> 00:06:55,529 si no hay un número de serie 186 00:06:55,529 --> 00:06:57,550 cada vez que hemos metido un objeto 187 00:06:57,550 --> 00:06:59,670 se puede meter con un número de serie 188 00:06:59,670 --> 00:07:01,449 distinto, entonces cuando yo leo 189 00:07:01,449 --> 00:07:03,569 el número de serie es otro 190 00:07:03,569 --> 00:07:05,529 reserva, no me crees que hay 191 00:07:05,529 --> 00:07:07,629 las propiedades, no, lo siento, no te lo puedo hacer 192 00:07:07,629 --> 00:07:08,569 ¿vale? 193 00:07:09,389 --> 00:07:11,730 esa es la idea, conclusión 194 00:07:11,730 --> 00:07:16,029 si vamos a serializar 195 00:07:16,029 --> 00:07:17,449 una clase 196 00:07:17,449 --> 00:07:19,490 ponerle un número de serie y así 197 00:07:19,490 --> 00:07:21,750 esa clase se quede identificada de forma única 198 00:07:21,750 --> 00:07:23,649 para futuros cambios 199 00:07:23,649 --> 00:07:25,610 con lo cual si luego hay 200 00:07:25,610 --> 00:07:27,709 casting de objetos que les faltan 201 00:07:27,709 --> 00:07:29,610 esas propiedades, porque en su 202 00:07:29,610 --> 00:07:31,689 momento no se serializaron con esas propiedades 203 00:07:31,689 --> 00:07:33,170 ese casting va a funcionar igual 204 00:07:33,170 --> 00:07:35,029 ¿vale? 205 00:07:36,350 --> 00:07:37,449 pero claro, esos objetos 206 00:07:37,449 --> 00:07:38,709 tienen que haber serializado 207 00:07:38,709 --> 00:07:41,529 estando ya el número de serie puestos, si lo ponemos después 208 00:07:41,529 --> 00:07:43,550 no vale, tiene que estar puesto 209 00:07:43,550 --> 00:07:44,149 desde el principio 210 00:07:44,149 --> 00:07:45,769 o sea, si tú no le pones 211 00:07:45,769 --> 00:07:49,009 la página virtual 212 00:07:49,009 --> 00:07:53,110 si tú no tienes 213 00:07:53,110 --> 00:07:54,709 el número de serie fijado 214 00:07:54,709 --> 00:07:56,269 de tal forma que se conserve 215 00:07:56,269 --> 00:07:58,389 en las sucesivas escrituras 216 00:07:58,389 --> 00:07:59,750 si no tienes un número de serie fijado 217 00:07:59,750 --> 00:08:01,529 lees un objeto 218 00:08:01,529 --> 00:08:03,889 que escribiste 219 00:08:03,889 --> 00:08:06,250 antiguamente, con lo cual solo escribiste 220 00:08:06,250 --> 00:08:07,149 estas cuatro cosas 221 00:08:07,149 --> 00:08:10,089 tratas de hacer el casting, dice no puedo 222 00:08:10,089 --> 00:08:11,550 porque me falta una propiedad 223 00:08:11,550 --> 00:08:13,970 te va a fallar, cast exception 224 00:08:13,970 --> 00:08:15,870 pero si 225 00:08:15,870 --> 00:08:18,529 se guardó ya teniendo este número de serie 226 00:08:18,529 --> 00:08:20,389 él salva ese error 227 00:08:20,389 --> 00:08:22,389 lo salva y dice, dice, vale 228 00:08:22,389 --> 00:08:24,689 cambiaste una propiedad, pero me estás 229 00:08:24,689 --> 00:08:26,610 dando una garantía de que 230 00:08:26,610 --> 00:08:28,449 cuando lo generaste fue con esta clase 231 00:08:28,449 --> 00:08:30,569 esa garantía la tengo 232 00:08:30,569 --> 00:08:32,590 porque se ha serializado con este 233 00:08:32,590 --> 00:08:34,409 número de serie, entonces la clase 234 00:08:34,409 --> 00:08:36,470 cambió, vale, cambió, pero me estás 235 00:08:36,470 --> 00:08:38,490 dando la seguridad de que cuando tú lo serializaste 236 00:08:38,490 --> 00:08:40,250 el objeto pertenecía a esta clase 237 00:08:40,250 --> 00:08:42,769 a su versión original, pero pertenecía a ella 238 00:08:42,769 --> 00:08:44,509 porque ya en su momento me dijiste 239 00:08:44,509 --> 00:08:46,029 oye, que soy yo con este número 240 00:08:46,029 --> 00:08:48,350 entonces dice, vale, tengo 241 00:08:48,350 --> 00:08:50,129 la seguridad de que tú lo generaste 242 00:08:50,129 --> 00:08:52,070 con esta clase, porque me has dado 243 00:08:52,070 --> 00:08:54,210 el identificador, me faltan 244 00:08:54,210 --> 00:08:56,029 propiedades, te lo relleno 245 00:08:56,029 --> 00:08:57,409 la relleno con lo que sea 246 00:08:57,409 --> 00:09:00,169 ¿vale? por eso tiene interés ese 247 00:09:00,169 --> 00:09:02,009 número de serie, para 248 00:09:02,009 --> 00:09:03,429 cambios en las 249 00:09:03,429 --> 00:09:04,570 clases 250 00:09:04,570 --> 00:09:06,830 en las propiedades 251 00:09:06,830 --> 00:09:17,950 da igual, para cualquier modificación 252 00:09:17,950 --> 00:09:20,129 El casting ya se apañará 253 00:09:20,129 --> 00:09:23,250 El eliminará lo que le sobre 254 00:09:23,250 --> 00:09:24,730 Ya se apañará para que no falle 255 00:09:24,730 --> 00:09:26,049 No salga una excepción de casting 256 00:09:26,049 --> 00:09:27,110 Incluso si los cambios de nombre 257 00:09:27,110 --> 00:09:29,690 Si el nombre sería el mismo 258 00:09:29,690 --> 00:09:31,730 Hombre, a ver, no, si cambias de nombre la clase 259 00:09:31,730 --> 00:09:33,549 La clase ya es otra 260 00:09:33,549 --> 00:09:34,830 ¿Vale? 261 00:09:35,929 --> 00:09:37,409 Hombre, me haces dudar, pero vamos 262 00:09:37,409 --> 00:09:40,029 ¿Para qué quieres hacer eso? 263 00:09:40,029 --> 00:09:40,610 No, no, no 264 00:09:40,610 --> 00:09:43,769 ¿Y final? 265 00:09:44,009 --> 00:09:44,330 ¿Qué es? 266 00:09:45,230 --> 00:09:46,049 Que es constante 267 00:09:46,049 --> 00:09:49,190 el planificador final significa 268 00:09:49,190 --> 00:09:51,269 que esta propiedad 269 00:09:51,269 --> 00:09:52,830 una vez que le has fijado el valor 270 00:09:52,830 --> 00:09:54,330 ya no se lo puedes cambiar 271 00:09:54,330 --> 00:09:56,809 yo no puedo hacer aquí ahora en ningún sitio 272 00:09:56,809 --> 00:09:58,049 porque me dé a mí la gana 273 00:09:58,049 --> 00:10:00,830 cambiar este valor, final es como si fuera 274 00:10:00,830 --> 00:10:02,970 constante, yo ahora ya no puedo cambiar 275 00:10:02,970 --> 00:10:04,929 esto, por mucho que 276 00:10:04,929 --> 00:10:06,970 quiera, esto ya no se 277 00:10:06,970 --> 00:10:07,710 puede cambiar 278 00:10:07,710 --> 00:10:16,440 ¿Valdría también para código de reserva? 279 00:10:21,519 --> 00:10:22,179 A ver 280 00:10:22,179 --> 00:10:24,279 Bueno, sí, pero 281 00:10:24,279 --> 00:10:29,200 Una vez que la has fijado 282 00:10:29,200 --> 00:10:30,139 Ya no lo puedes cambiar 283 00:10:30,139 --> 00:10:32,419 Sí, lo puedes poner en final, si quieres 284 00:10:32,419 --> 00:10:35,240 Eso significa que desde el momento en que se hace 285 00:10:35,240 --> 00:10:36,460 La primera asignación 286 00:10:36,460 --> 00:10:38,879 Ya no vas a poder volverlo a cambiar 287 00:10:38,879 --> 00:10:39,759 ¿Vale? 288 00:10:44,360 --> 00:10:46,279 No, aquí me está dando error porque estoy tratando 289 00:10:46,279 --> 00:10:48,039 De darle valor a algo que ya estaba asignado 290 00:10:48,039 --> 00:10:50,379 Claro, pero es que aquí ya estaba asignado 291 00:10:50,379 --> 00:10:51,659 ¿Vale? 292 00:10:52,360 --> 00:10:53,759 Entonces, este es el error 293 00:10:53,759 --> 00:10:55,759 Y aquí 294 00:10:55,759 --> 00:11:02,620 claro 295 00:11:02,620 --> 00:11:05,860 claro 296 00:11:05,860 --> 00:11:08,759 en el constructor sí porque sería 297 00:11:08,759 --> 00:11:10,919 la primera asignación, aquí sería la primera 298 00:11:10,919 --> 00:11:13,039 pero ya más allá de eso 299 00:11:13,039 --> 00:11:14,639 ya no, entonces hombre 300 00:11:14,639 --> 00:11:16,320 es un poco raro, por una propiedad final 301 00:11:16,320 --> 00:11:18,100 es un poco raro 302 00:11:18,100 --> 00:11:27,649 a ver, no es que 303 00:11:27,649 --> 00:11:29,649 digamos que es una sugerencia 304 00:11:29,649 --> 00:11:31,889 inteligente de que documentes 305 00:11:31,889 --> 00:11:32,370 el código 306 00:11:32,370 --> 00:11:34,909 para que documentes el código 307 00:11:34,909 --> 00:11:39,169 normalmente Java cada vez que 308 00:11:39,169 --> 00:11:40,389 te añade Eclipse 309 00:11:40,389 --> 00:11:42,690 cada vez que te añade código 310 00:11:42,690 --> 00:11:45,009 pues porque tú lo has generado 311 00:11:45,009 --> 00:11:47,029 como sea pues 312 00:11:47,029 --> 00:11:48,850 muchas veces ya te pone el javado 313 00:11:48,850 --> 00:11:49,669 para que tú 314 00:11:49,669 --> 00:11:52,190 vale 315 00:11:52,190 --> 00:11:58,799 pues entonces de ficheros 316 00:11:58,799 --> 00:12:00,000 salvo 317 00:12:00,000 --> 00:12:02,559 corregir esos pequeños que he 318 00:12:02,559 --> 00:12:04,419 enviado para verlo de recursivo 319 00:12:04,419 --> 00:12:06,100 el file input string y todo eso