Discussion:
¿Cómo saber si dado un fichero este esta vacio o no?
(demasiado antiguo para responder)
David C.
2008-08-11 10:15:55 UTC
Permalink
Hola a todos,

...se terminaron las vacaciones (para mi) así que felices vacaciones para
los que las tengan...

Tengo la necesidad de auditar un envio comprimido en una base de datos, y
necesitaria que una vez generadas unas comprobaciones, saber si los ficheros
de salida con nombres conocidos, tienen lineas en su interior o no.

Si no hay errores entonces el fichero se genera igualmente pero esta vacio.

¿Alguien me puede ayudar?

Salu2

David Catasús
SoftJaén
2008-08-11 11:40:51 UTC
Permalink
Post by David C.
Tengo la necesidad de auditar un envio comprimido en una base de datos, y
necesitaria que una vez generadas unas comprobaciones, saber si los
ficheros de salida con nombres conocidos, tienen lineas en su interior o
no.
Hola, David:

Y si no hay líneas, ¿qué se supone que debe de haber? ¿Una fotografía
incrustada en un documento de Word, o algo parecido? :-)

Si te refieres a obtener la longitud del archivo en bytes, la puedes obtener
de la siguiente manera:

Dim fi As New IO.FileInfo("C:\Carpeta\NombreArchivo.txt")

Dim length As Int64 = fi.Length

MessageBox.Show("Tamaño: " & length.ToString & " bytes.")

Si el resultado es de 0 bytes, entiendo que el archivo estará vacío.

Ahora bien, si por línea entendemos una secuencia de caracteres seguida de
un salto de línea ("\n"), un retorno de carro ("\r") o un retorno de carro
seguido de un salto de línea ("\r\n"), puedes utilizar el método «ReadLine»
de un objeto StreamReader, de tal forma que mientras que lees líneas de
caracteres, vas sumando el número de éstas:

Dim sr As New IO.StreamReader("C:\Carpeta\NombreArchivo.txt")

Dim numLineas As Int32

Do While sr.Peek >= 0

' Leemos una línea
sr.ReadLine()

' Contador de líneas
numLineas += 1

Loop

sr.Close()

MessageBox.Show("N§ de l¡neas: " & numLineas.ToString)

Un saludo
--
Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Continúe leyendo en narkive:
Loading...