Bien, continuamos.
Ya tenemos creado el archivo.
Así que ahora vamos a implementar un método para leer el contenido.
Un públic va a devolver un tipo string.
Atio Leer Archivo.
Bien, lo primero es implementar un string builder.
Para qué?
Por qué íbamos a guardar todo el contenido del archivo?
Línea a línea String Builder.
Como siempre ve igual New es Trim Builder.
Para leer utilizamos la clase Buffer Ruidera, pero antes necesitamos crear la instancia de foil, entonces
file archivo igual New Archivo New File y pasamos el nombre bien.
Ahora sé que si buffer Ridder.
Recuerden que cuando escribimos un poco más arriba en el ejemplo del buffer Reiter para escribir acá
muy parecido, usamos el buffer reader y pasamos por constructor una instancia de file rider.
En este caso.
Bueno, acá Ritter, pero para leer es Rayder.
Y dentro le pasamos el archivo.
Es lo mismo, muy parecido.
Entonces, Buffer Reader.
Ridder igual New Va Ferrier y acá New Delphi Rider Ienes Fall River Rider, el archivo del tipo bien
acá no pide manejar.
Trae catch manejo de excepciones, entonces sobre el error como siempre más acciones anidar entre catch
perfecto file not found exception claro.
Podría ocurrir que el archivo que queremos leer no existe en el sistema o tampoco existe el directorio
o problema de permiso.
En fin, entonces manejamos el error.
Bien, entonces ahora lo vamos a leer línea a línea.
Acá obtenemos un string línea igual con el Rayder.
Punto.
El método REDLINE leer línea.
Y acá podría también ocurrir una excepción que no se puede leer bien.
Vamos a manejar el trait cachaca o vamos a agregar otro catch con excepción del tipo y o Exception.
Más acciones agregar catch.
Entonces se agrega otro nivel, otra cláusula del tipo catch, pero esto puede quedar un poco mejor.
En vez de tener dos catch, podríamos tener uno solo y acá.
Podrían colocar el carácter PI y el IO Exception y o exception con la E, de esa forma manejamos ambas
excepciones en el mismo Cauchy y este lo quitamos, lo ahorramos.
Bueno, de hecho el fino phone section es un tipo de I o exception, se fijan porque hereda incluso
que nos dice es una subclase.
Como es una subclase, podríamos dejar uno solo, es input output exception perfecto.
Pero estamos leyendo solamente una línea del archivo y la idea de leer cada una todas.
Bueno, si queremos leer cada una, necesitamos implementar un quail.
Entonces, mientras esto sea distinto de null, perfecto, vamos a ir tirando y vamos mostrando o almacenando
en el String Builder el contenido de cada línea.
Entonces, usando un while acá vamos a modificar un poco.
Vamos a quitar esto de esto de acá.
Lo voy a copiar.
Y acá le quitamos.
Solamente hemos definido la variable línea acá paréntesis, pegamos línea igual a esto y cierto, o
esta presión de línea acá le asignamos el valor se distinto en un perfecto y tiramos.
S. B.
Punto happen y guardamos la línea, entonces, qué estamos haciendo acá?
Asignamos el contenido, la línea acá en esta variable línea y luego comparamos 7 contenido C distinto
null.
Seguimos liderando ahora si el nulo no salimos porque si que ya no hay más línea.
Llegamos al final del archivo y eso sería ahora qué faltaría.
Acá tenemos que devolver un string.
Que se fijen entonces por acá o bien por acá.
Al final el ratón, el return ese punto nuestre lo tengo que convertir a un string puntico.
Ahí tenemos el método leer archivo, incluso por cada línea que acá estamos guardando la línea podríamos
agregar el carácter santo línea para que lo veamos bien en la consola y no todo de una sola vez.
Happen el carácter Saturnia perfecto.
Ahora sí que si vamos a crear ejemplo, vamos a crear un ejemplo por acá.
Ejemplo New.
Ejemplo Leer Archivo.
Con el método Main.
Vamos a crear la instancia servis o servis.
Servicio HiguaÃn New Actio Service South.
Vamos a imprimir.
Servicio, punto.
Leer archivo y le pasamos acá la ruta.
Bueno, qué ruta?
La misma que teníamos acá en crear archivo.
De hecho, la podríamos copiar.
La pegamos por acá.
negaTi pasamos.
Nombre archivo perfecto y vamos a ejecutar.
El mismo contenido que teníamos.
Hola, qué tal amigo?
Todo bien?
Bueno, varias veces después lo salto línea.
Hasta luego, Lucas, hasta que finaliza.
De hecho, si revisamos el archivo.
Derecho.
Niégalo, tenemos exactamente el mismo.
Vamos a cerrar.
Cerramos.
Volvemos.
Pero no es la única forma.
También podemos utilizar la clase Scanner, la misma que para leer datos del terminal.
La consola.
Vamos a copiar este método tal cual.
Y lo vamos a modificar.
Entonces, por acá.
Bueno, primero le vamos a llamar leer Archivo 2 el Stream Builder lo dejamos.
El FI también lo vamos a utilizar.
Lo que cambia.
Bueno, es un poco el wey.
Por supuesto.
Y en vez de utilizar el buffer ridder y el file Ridder, utilizamos la clase Kanes.
De hecho, mucho más simple.
Esto acá lo podemos quitar.
También quitamos esta línea bien y vamos a quitar esto de acá.
Bien, y acá vamos a colocar escÃner s igual new escaneas.
Se acuerdan que ante colocábamos sisten punto in la entrada de datos que era a través de la consola?
Bueno, acá la entrada de datos del archivo.
Ahora tengo que colocar el new file.
Entonces colocamos archivo.
Lo tenemos acá.
File archivo.
Entonces lo utilizamos.
Y en el UI ese punto jass next.
Mientras tenga elemento.
Acá mostramos un scanner con ese punto next.
Y estamos casi listos porque me faltó un detalle.
Acá vamos a colocar el delimitador o el patrón por el cual va a separar la línea.
Cada línea separada con el carácter salto línea.
Por supuesto.
Entonces invocamos el método Iuz delimitar y acá colocamos el paquete larch n y listo.
Volvemos acá a la clase Ejemplo Leer Archivo Leer Archivo 2, vamos a probar.
Ya que no tenemos.
Se fijan utilizando la otra forma con escáner.
Eso sería bueno utilizar cualquiera de las dos.
Las dos son bien optimizadas, así que da lo mismo un tema de gusto y nos falta un detalle.
Nos faltó cerrar el recurso.
Tanto el escáner como Arria, también el buffer Rayder.
Claro, hay que empacaré Closs, aunque no es obligación cerrarlo cuando estamos leyendo datos.
De hecho funciona, pero siempre se recomienda cerrar el recurso como buena práctica y también para
optimizar, ya que estamos liberando un recurso.
Entonces, en el archivo después del while por acá, una vez que termine de leer con el Ridder, punto
Clowes y listo, cerramos el recurso importante y abajo también.
Acá en edecanes.
Entonces lo vemos debajo del Huai ese punto Clough y listo.
Ahora también lo podemos manejar en el TRIE cuando abrimos el recurso.
Eso también sería otra opción.
Bueno, en este caso recuerden que lo podemos comentar o lo podemos quitar.
De hecho, se podría quitar lo que vamos a hacer.
Vamos a cortar esto tal cual.
También quitamos el punto y coma.
Y por acá?
El recurso, el escáner, haría lo mismo.
También podremos quitar el clouds como alternativa.
Seleccionamos esto, lo cortamos arriba de paréntesis y pegamos Fileto.
Queda mejor.
De esa forma.
Ahora, si lo programo, va a funcionar igual.
De hecho, nos vamos a ejemplo leer archivo.
Estamos con leer Archivo 2, levántalos.
Se fijan, pero con el recurso cerrado y también leer archivo.
Lo mismo.
Siempre recuerden el Closs, ya sea de forma implícita dentro del TROI, con los paréntesis o bien invocando
ploff el punto ploff en un traje común y corriente.
Nada más.
Nos vemos en la siguiente clase.