Generar Archivo Plano de x MB

17/10/2006 - 20:49 por Broker | Informe spam
Hola Buenas Tardes,

Estoy intentando realizar un archivo o archivos (dependiendo de si supera un
tamaño), este archivo es de texto plano. Actualmente lo estoy haciendo con
streamwrite.

Me explico mejor, Tengo unos datos que me llegan de una base de datos, estos
datos los tengo que insertar en un archivo plano en linea y separados por ;
bien pos esto lo logro hacer, pero el problema que me encuentro, es que el
archivo como maximo tiene que medir 1MB, en el caso de que supere, tendria
que crear varios archivos de 1MB hasta terminar el proceso. Los archivos
seria asi:

Archivo.txt 1MB
Archivo2.txt 1MB
Archivo3.txt 340KB

Mi problema es que no se como sacar el tamaño que va teniendo el archivo al
tiempo que lo voy generando.

Espero vuestra ayuda.

Muchas Gracias.

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion [MVP]
17/10/2006 - 23:12 | Informe spam
"Broker" wrote in message
news:
[...] archivo o archivos [...]
Actualmente lo estoy haciendo con streamwrite.
[...]
Mi problema es que no se como sacar el tamaño que va teniendo el archivo
al
tiempo que lo voy generando.



No tienes más que ir sumando en una variable la longitud de lo que
escribas con el StreamWriter. Por ejemplo, si haces un sw.Write(cadena),
entonces cadena.Length es el número de caracteres que esa instrucción aáde
al fichero. Si por cada Write sumas la longitud que has escrito, tienes el
tamaño del fichero en ese momento. Si usas un WriteLine, acuérdate de sumar
2 caracteres adicionales por el retorno de carro y salto de linea.

Otra cosa que puedes hacer, y que creo que funcionaría, aunque no lo he
probado, es usar la propiedad BaseStream del StreamWriter para obtener el
Stream sobre el que esta escribiendo, y a continuación preguntar por la
propiedad Position del Stream, que en teoría debería darte el tamaño del
fichero en ese momento.
Respuesta Responder a este mensaje
#2 Broker
18/10/2006 - 09:37 | Informe spam
Muchas Gracias, me viene perfecto. No se me habia ocurrido.

Un Saludo.

"Alberto Poblacion [MVP]" wrote:

"Broker" wrote in message
news:
> [...] archivo o archivos [...]
> Actualmente lo estoy haciendo con streamwrite.
> [...]
> Mi problema es que no se como sacar el tamaño que va teniendo el archivo
> al
> tiempo que lo voy generando.

No tienes más que ir sumando en una variable la longitud de lo que
escribas con el StreamWriter. Por ejemplo, si haces un sw.Write(cadena),
entonces cadena.Length es el número de caracteres que esa instrucción aáde
al fichero. Si por cada Write sumas la longitud que has escrito, tienes el
tamaño del fichero en ese momento. Si usas un WriteLine, acuérdate de sumar
2 caracteres adicionales por el retorno de carro y salto de linea.

Otra cosa que puedes hacer, y que creo que funcionaría, aunque no lo he
probado, es usar la propiedad BaseStream del StreamWriter para obtener el
Stream sobre el que esta escribiendo, y a continuación preguntar por la
propiedad Position del Stream, que en teoría debería darte el tamaño del
fichero en ese momento.





email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida