• Domingo 22 de Diciembre de 2024, 14:30

Autor Tema:  Ficheros  (Leído 1571 veces)

Ciudad Nocturna

  • Nuevo Miembro
  • *
  • Mensajes: 21
    • Ver Perfil
    • http://www.ciudadnocturna.tk
Ficheros
« en: Miércoles 21 de Julio de 2004, 23:36 »
0
Hola de nuevo, estoy intentando leer un fichero .txt y mis dudas son, como se que de una linea al recorrerla he llegado al final, que condición debería usar en el while para parar y luego como se que he acabado de leer el archivo, es decir, que ya no me quedan más lineas por leer.

A ver si me podeís hechar un cable, gracias

Un Saludo
IberMap Software

Black_angel

  • Nuevo Miembro
  • *
  • Mensajes: 21
    • Ver Perfil
Re: Ficheros
« Respuesta #1 en: Jueves 22 de Julio de 2004, 17:11 »
0
Hola!
 
  te paso la solución que se presenta en el libro de Eidos que creo que es lo que buscas, en el utilizan la clase StreamReader:



Un objeto StreamReader realiza operaciones de lectura de texto sobre un archivo.
El proceso que debemos llevar a cabo para leer el contenido de un Stream de lectura es muy similar al
de escritura: instanciar el objeto con uno de sus constructores, abriendo un archivo para leer; ejecutar
alguno de los métodos de lectura del StreamReader, y cerrar el objeto con Close( ).
Entre los métodos de lectura de este objeto, tenemos ReadLine( ), que devuelve una línea del archivo;
y ReadToEnd( ), que devuelve el resto del contenido del archivo, desde el punto en el que se
encontrara el Stream al realizar la última lectura. Veamos unos ejemplos en el Código fuente 414:

Dim srLector As StreamReader = New StreamReader("\pruebas\NOTAS.txt")
Console.WriteLine("**Leer una primera línea**")
Dim Linea As String
Linea = srLector.ReadLine()
Console.WriteLine("La línea contiene --> {0}", Linea)
Console.WriteLine()
Console.WriteLine("**Ahora leemos el resto del archivo**")
Dim Texto As String
Texto = srLector.ReadToEnd()
Console.WriteLine("El texto restante contiene --> {0}", Texto)
srLector.Close()
' ***********************************************
' leer línea a línea mediante un bucle
Dim srLector As StreamReader = New StreamReader("\pruebas\Datos.txt")
Dim Linea As String
Dim ContadorLin As Integer = 1
Linea = srLector.ReadLine()
Do While Not (Linea Is Nothing)
Console.WriteLine("Línea: {0} - Contenido: {1}", ContadorLin, Linea)
ContadorLin += 1
Linea = srLector.ReadLine()
Loop





Espero que te haya sido de ayuda.  Un saludo :hola: