1
00:00:00,150 --> 00:00:00,960
Bien, continuamos.

2
00:00:01,050 --> 00:00:02,310
Ya tenemos creado el archivo.

3
00:00:02,400 --> 00:00:06,000
Así que ahora vamos a implementar un método para leer el contenido.

4
00:00:06,510 --> 00:00:10,050
Un públic va a devolver un tipo string.

5
00:00:14,090 --> 00:00:15,940
Atio Leer Archivo.

6
00:00:20,660 --> 00:00:22,790
Bien, lo primero es implementar un string builder.

7
00:00:22,970 --> 00:00:23,510
Para qué?

8
00:00:23,600 --> 00:00:26,450
Por qué íbamos a guardar todo el contenido del archivo?

9
00:00:26,510 --> 00:00:29,770
Línea a línea String Builder.

10
00:00:32,490 --> 00:00:36,780
Como siempre ve igual New es Trim Builder.

11
00:00:38,250 --> 00:00:44,970
Para leer utilizamos la clase Buffer Ruidera, pero antes necesitamos crear la instancia de foil, entonces

12
00:00:44,970 --> 00:00:55,650
file archivo igual New Archivo New File y pasamos el nombre bien.

13
00:00:56,160 --> 00:00:57,880
Ahora sé que si buffer Ridder.

14
00:00:58,080 --> 00:01:04,110
Recuerden que cuando escribimos un poco más arriba en el ejemplo del buffer Reiter para escribir acá

15
00:01:04,110 --> 00:01:09,960
muy parecido, usamos el buffer reader y pasamos por constructor una instancia de file rider.

16
00:01:10,050 --> 00:01:10,720
En este caso.

17
00:01:10,890 --> 00:01:13,530
Bueno, acá Ritter, pero para leer es Rayder.

18
00:01:14,530 --> 00:01:16,930
Y dentro le pasamos el archivo.

19
00:01:17,020 --> 00:01:18,380
Es lo mismo, muy parecido.

20
00:01:18,940 --> 00:01:20,980
Entonces, Buffer Reader.

21
00:01:26,130 --> 00:01:39,690
Ridder igual New Va Ferrier y acá New Delphi Rider Ienes Fall River Rider, el archivo del tipo bien

22
00:01:41,310 --> 00:01:42,130
acá no pide manejar.

23
00:01:42,150 --> 00:01:49,230
Trae catch manejo de excepciones, entonces sobre el error como siempre más acciones anidar entre catch

24
00:01:50,010 --> 00:01:52,230
perfecto file not found exception claro.

25
00:01:52,230 --> 00:01:57,120
Podría ocurrir que el archivo que queremos leer no existe en el sistema o tampoco existe el directorio

26
00:01:57,210 --> 00:01:58,740
o problema de permiso.

27
00:01:58,860 --> 00:02:01,230
En fin, entonces manejamos el error.

28
00:02:02,010 --> 00:02:05,000
Bien, entonces ahora lo vamos a leer línea a línea.

29
00:02:05,160 --> 00:02:11,730
Acá obtenemos un string línea igual con el Rayder.

30
00:02:13,110 --> 00:02:13,770
Punto.

31
00:02:13,890 --> 00:02:16,370
El método REDLINE leer línea.

32
00:02:16,710 --> 00:02:20,010
Y acá podría también ocurrir una excepción que no se puede leer bien.

33
00:02:20,130 --> 00:02:26,040
Vamos a manejar el trait cachaca o vamos a agregar otro catch con excepción del tipo y o Exception.

34
00:02:26,820 --> 00:02:29,220
Más acciones agregar catch.

35
00:02:30,610 --> 00:02:35,920
Entonces se agrega otro nivel, otra cláusula del tipo catch, pero esto puede quedar un poco mejor.

36
00:02:36,610 --> 00:02:40,270
En vez de tener dos catch, podríamos tener uno solo y acá.

37
00:02:41,270 --> 00:02:49,820
Podrían colocar el carácter PI y el IO Exception y o exception con la E, de esa forma manejamos ambas

38
00:02:49,880 --> 00:02:54,920
excepciones en el mismo Cauchy y este lo quitamos, lo ahorramos.

39
00:02:55,890 --> 00:03:03,330
Bueno, de hecho el fino phone section es un tipo de I o exception, se fijan porque hereda incluso

40
00:03:03,330 --> 00:03:04,910
que nos dice es una subclase.

41
00:03:06,070 --> 00:03:12,040
Como es una subclase, podríamos dejar uno solo, es input output exception perfecto.

42
00:03:12,070 --> 00:03:17,080
Pero estamos leyendo solamente una línea del archivo y la idea de leer cada una todas.

43
00:03:17,170 --> 00:03:20,640
Bueno, si queremos leer cada una, necesitamos implementar un quail.

44
00:03:20,830 --> 00:03:28,900
Entonces, mientras esto sea distinto de null, perfecto, vamos a ir tirando y vamos mostrando o almacenando

45
00:03:29,080 --> 00:03:31,930
en el String Builder el contenido de cada línea.

46
00:03:32,290 --> 00:03:36,490
Entonces, usando un while acá vamos a modificar un poco.

47
00:03:37,150 --> 00:03:39,010
Vamos a quitar esto de esto de acá.

48
00:03:40,440 --> 00:03:41,230
Lo voy a copiar.

49
00:03:42,870 --> 00:03:44,310
Y acá le quitamos.

50
00:03:46,000 --> 00:03:55,210
Solamente hemos definido la variable línea acá paréntesis, pegamos línea igual a esto y cierto, o

51
00:03:55,330 --> 00:04:03,490
esta presión de línea acá le asignamos el valor se distinto en un perfecto y tiramos.

52
00:04:08,500 --> 00:04:09,010
S. B.

53
00:04:09,820 --> 00:04:16,420
Punto happen y guardamos la línea, entonces, qué estamos haciendo acá?

54
00:04:16,510 --> 00:04:23,400
Asignamos el contenido, la línea acá en esta variable línea y luego comparamos 7 contenido C distinto

55
00:04:23,410 --> 00:04:23,800
null.

56
00:04:24,100 --> 00:04:29,350
Seguimos liderando ahora si el nulo no salimos porque si que ya no hay más línea.

57
00:04:29,590 --> 00:04:33,130
Llegamos al final del archivo y eso sería ahora qué faltaría.

58
00:04:33,370 --> 00:04:34,790
Acá tenemos que devolver un string.

59
00:04:34,790 --> 00:04:39,910
Que se fijen entonces por acá o bien por acá.

60
00:04:40,000 --> 00:04:48,970
Al final el ratón, el return ese punto nuestre lo tengo que convertir a un string puntico.

61
00:04:50,410 --> 00:04:56,320
Ahí tenemos el método leer archivo, incluso por cada línea que acá estamos guardando la línea podríamos

62
00:04:56,320 --> 00:05:02,470
agregar el carácter santo línea para que lo veamos bien en la consola y no todo de una sola vez.

63
00:05:03,310 --> 00:05:07,510
Happen el carácter Saturnia perfecto.

64
00:05:07,870 --> 00:05:13,300
Ahora sí que si vamos a crear ejemplo, vamos a crear un ejemplo por acá.

65
00:05:14,050 --> 00:05:16,390
Ejemplo New.

66
00:05:17,790 --> 00:05:19,260
Ejemplo Leer Archivo.

67
00:05:23,840 --> 00:05:24,670
Con el método Main.

68
00:05:27,440 --> 00:05:30,110
Vamos a crear la instancia servis o servis.

69
00:05:34,370 --> 00:05:40,560
Servicio HiguaÃn New Actio Service South.

70
00:05:40,940 --> 00:05:41,930
Vamos a imprimir.

71
00:05:42,680 --> 00:05:44,570
Servicio, punto.

72
00:05:44,840 --> 00:05:47,540
Leer archivo y le pasamos acá la ruta.

73
00:05:47,700 --> 00:05:48,470
Bueno, qué ruta?

74
00:05:48,560 --> 00:05:51,440
La misma que teníamos acá en crear archivo.

75
00:05:52,070 --> 00:05:53,150
De hecho, la podríamos copiar.

76
00:05:55,640 --> 00:05:57,160
La pegamos por acá.

77
00:05:58,590 --> 00:05:59,510
negaTi pasamos.

78
00:05:59,600 --> 00:06:03,680
Nombre archivo perfecto y vamos a ejecutar.

79
00:06:12,290 --> 00:06:13,550
El mismo contenido que teníamos.

80
00:06:14,210 --> 00:06:14,960
Hola, qué tal amigo?

81
00:06:14,990 --> 00:06:15,620
Todo bien?

82
00:06:15,720 --> 00:06:18,050
Bueno, varias veces después lo salto línea.

83
00:06:19,020 --> 00:06:21,090
Hasta luego, Lucas, hasta que finaliza.

84
00:06:21,900 --> 00:06:23,400
De hecho, si revisamos el archivo.

85
00:06:24,670 --> 00:06:25,420
Derecho.

86
00:06:27,480 --> 00:06:29,700
Niégalo, tenemos exactamente el mismo.

87
00:06:30,510 --> 00:06:31,320
Vamos a cerrar.

88
00:06:32,010 --> 00:06:32,670
Cerramos.

89
00:06:33,090 --> 00:06:33,840
Volvemos.

90
00:06:34,680 --> 00:06:35,850
Pero no es la única forma.

91
00:06:35,970 --> 00:06:41,190
También podemos utilizar la clase Scanner, la misma que para leer datos del terminal.

92
00:06:41,280 --> 00:06:41,940
La consola.

93
00:06:42,180 --> 00:06:44,340
Vamos a copiar este método tal cual.

94
00:06:44,460 --> 00:06:45,490
Y lo vamos a modificar.

95
00:06:45,850 --> 00:06:46,830
Entonces, por acá.

96
00:06:47,430 --> 00:06:52,560
Bueno, primero le vamos a llamar leer Archivo 2 el Stream Builder lo dejamos.

97
00:06:52,560 --> 00:06:54,060
El FI también lo vamos a utilizar.

98
00:06:54,480 --> 00:06:55,230
Lo que cambia.

99
00:06:55,290 --> 00:06:57,230
Bueno, es un poco el wey.

100
00:06:57,780 --> 00:06:58,600
Por supuesto.

101
00:06:58,800 --> 00:07:04,260
Y en vez de utilizar el buffer ridder y el file Ridder, utilizamos la clase Kanes.

102
00:07:04,890 --> 00:07:05,910
De hecho, mucho más simple.

103
00:07:06,000 --> 00:07:07,380
Esto acá lo podemos quitar.

104
00:07:08,400 --> 00:07:12,180
También quitamos esta línea bien y vamos a quitar esto de acá.

105
00:07:14,090 --> 00:07:23,650
Bien, y acá vamos a colocar escÃner s igual new escaneas.

106
00:07:24,310 --> 00:07:29,710
Se acuerdan que ante colocábamos sisten punto in la entrada de datos que era a través de la consola?

107
00:07:29,920 --> 00:07:32,950
Bueno, acá la entrada de datos del archivo.

108
00:07:33,220 --> 00:07:35,230
Ahora tengo que colocar el new file.

109
00:07:35,470 --> 00:07:37,150
Entonces colocamos archivo.

110
00:07:38,650 --> 00:07:39,580
Lo tenemos acá.

111
00:07:40,060 --> 00:07:41,050
File archivo.

112
00:07:41,210 --> 00:07:42,460
Entonces lo utilizamos.

113
00:07:42,520 --> 00:07:46,000
Y en el UI ese punto jass next.

114
00:07:46,180 --> 00:07:47,380
Mientras tenga elemento.

115
00:07:47,950 --> 00:07:53,410
Acá mostramos un scanner con ese punto next.

116
00:07:55,450 --> 00:07:57,490
Y estamos casi listos porque me faltó un detalle.

117
00:07:58,000 --> 00:08:03,640
Acá vamos a colocar el delimitador o el patrón por el cual va a separar la línea.

118
00:08:03,970 --> 00:08:08,020
Cada línea separada con el carácter salto línea.

119
00:08:08,050 --> 00:08:08,650
Por supuesto.

120
00:08:08,740 --> 00:08:17,830
Entonces invocamos el método Iuz delimitar y acá colocamos el paquete larch n y listo.

121
00:08:19,070 --> 00:08:26,450
Volvemos acá a la clase Ejemplo Leer Archivo Leer Archivo 2, vamos a probar.

122
00:08:30,370 --> 00:08:31,090
Ya que no tenemos.

123
00:08:31,210 --> 00:08:34,570
Se fijan utilizando la otra forma con escáner.

124
00:08:34,990 --> 00:08:37,960
Eso sería bueno utilizar cualquiera de las dos.

125
00:08:38,320 --> 00:08:44,350
Las dos son bien optimizadas, así que da lo mismo un tema de gusto y nos falta un detalle.

126
00:08:44,350 --> 00:08:46,000
Nos faltó cerrar el recurso.

127
00:08:46,060 --> 00:08:50,020
Tanto el escáner como Arria, también el buffer Rayder.

128
00:08:50,200 --> 00:08:55,240
Claro, hay que empacaré Closs, aunque no es obligación cerrarlo cuando estamos leyendo datos.

129
00:08:55,270 --> 00:09:00,910
De hecho funciona, pero siempre se recomienda cerrar el recurso como buena práctica y también para

130
00:09:00,910 --> 00:09:03,260
optimizar, ya que estamos liberando un recurso.

131
00:09:03,430 --> 00:09:11,320
Entonces, en el archivo después del while por acá, una vez que termine de leer con el Ridder, punto

132
00:09:11,320 --> 00:09:17,500
Clowes y listo, cerramos el recurso importante y abajo también.

133
00:09:17,740 --> 00:09:19,330
Acá en edecanes.

134
00:09:19,390 --> 00:09:26,680
Entonces lo vemos debajo del Huai ese punto Clough y listo.

135
00:09:26,770 --> 00:09:31,420
Ahora también lo podemos manejar en el TRIE cuando abrimos el recurso.

136
00:09:31,570 --> 00:09:32,980
Eso también sería otra opción.

137
00:09:33,730 --> 00:09:37,660
Bueno, en este caso recuerden que lo podemos comentar o lo podemos quitar.

138
00:09:37,750 --> 00:09:40,450
De hecho, se podría quitar lo que vamos a hacer.

139
00:09:41,200 --> 00:09:43,480
Vamos a cortar esto tal cual.

140
00:09:44,020 --> 00:09:45,430
También quitamos el punto y coma.

141
00:09:49,540 --> 00:09:50,320
Y por acá?

142
00:09:52,310 --> 00:09:55,550
El recurso, el escáner, haría lo mismo.

143
00:09:55,940 --> 00:10:00,400
También podremos quitar el clouds como alternativa.

144
00:10:03,070 --> 00:10:10,880
Seleccionamos esto, lo cortamos arriba de paréntesis y pegamos Fileto.

145
00:10:11,050 --> 00:10:11,620
Queda mejor.

146
00:10:12,630 --> 00:10:13,260
De esa forma.

147
00:10:13,980 --> 00:10:15,780
Ahora, si lo programo, va a funcionar igual.

148
00:10:16,080 --> 00:10:18,360
De hecho, nos vamos a ejemplo leer archivo.

149
00:10:18,780 --> 00:10:21,930
Estamos con leer Archivo 2, levántalos.

150
00:10:23,800 --> 00:10:28,090
Se fijan, pero con el recurso cerrado y también leer archivo.

151
00:10:31,520 --> 00:10:32,030
Lo mismo.

152
00:10:35,920 --> 00:10:43,690
Siempre recuerden el Closs, ya sea de forma implícita dentro del TROI, con los paréntesis o bien invocando

153
00:10:43,690 --> 00:10:46,450
ploff el punto ploff en un traje común y corriente.

154
00:10:46,750 --> 00:10:47,410
Nada más.

155
00:10:47,500 --> 00:10:49,270
Nos vemos en la siguiente clase.
