Problema con lectura de archivos de texto

06/02/2008 - 20:45 por Fernando Alonso | Informe spam
Hola a todos.

Utilizo el filestream para leer el contenido de un archivo de texto,
el problema que tengo es que en ocasiones al leerlo, el otro programa que lo
crea no lo ha liberado y me genera una excepcion de que esta siendo utilizado
por otro proceso.

Como le puedo hacer para que antes de abrirlo verificar que no este
siendo utilizado por otro proceso?

Muchas Gracias...

Preguntas similare

Leer las respuestas

#1 RFOG
06/02/2008 - 21:26 | Informe spam
Prueba a abrirlo en modo exclusivo. Si te lanza una excepción es que hay
otro proceso usándolo.

Microsoft Visual C++ MVP
==Mi blog sobre programación: http://geeks.ms/blogs/rfog
Mi blog sobre literatura: http://rfog.blogsome.com
Libros, ciencia ficción y programación
El amor es ciego.

"Fernando Alonso" wrote in
message news:
Hola a todos.

Utilizo el filestream para leer el contenido de un archivo de texto,
el problema que tengo es que en ocasiones al leerlo, el otro programa que
lo
crea no lo ha liberado y me genera una excepcion de que esta siendo
utilizado
por otro proceso.

Como le puedo hacer para que antes de abrirlo verificar que no este
siendo utilizado por otro proceso?

Muchas Gracias...
Respuesta Responder a este mensaje
#2 Harvey Triana
07/02/2008 - 22:26 | Informe spam
Entre los parametros de Open(), investiga Shared. En general resuleve en
parte este tipo de problemas. Aunque no es escalable ¿No? -

<HT />

"Fernando Alonso" escribió en el
mensaje news:
Hola a todos.

Utilizo el filestream para leer el contenido de un archivo de texto,
el problema que tengo es que en ocasiones al leerlo, el otro programa que
lo
crea no lo ha liberado y me genera una excepcion de que esta siendo
utilizado
por otro proceso.

Como le puedo hacer para que antes de abrirlo verificar que no este
siendo utilizado por otro proceso?

Muchas Gracias...
Respuesta Responder a este mensaje
#3 Fernando Alonso
08/02/2008 - 04:26 | Informe spam
Ya intente con todos los parametros del filestream pero al tenerlo abierto el
otro problema, me genera la excepcion, aqui el detalle es que no quiero que
me genere excepciones, sino que estoy buscando alguna funcion que me informe
si esta el archivo siendo utilizado por el otro programa, para ya poder
utilizarlo.

Gracias...

"Harvey Triana" wrote:

Entre los parametros de Open(), investiga Shared. En general resuleve en
parte este tipo de problemas. Aunque no es escalable ¿No? -

<HT />

"Fernando Alonso" escribió en el
mensaje news:
> Hola a todos.
>
> Utilizo el filestream para leer el contenido de un archivo de texto,
> el problema que tengo es que en ocasiones al leerlo, el otro programa que
> lo
> crea no lo ha liberado y me genera una excepcion de que esta siendo
> utilizado
> por otro proceso.
>
> Como le puedo hacer para que antes de abrirlo verificar que no este
> siendo utilizado por otro proceso?
>
> Muchas Gracias...



Respuesta Responder a este mensaje
#4 RFOG
08/02/2008 - 10:04 | Informe spam
Usa el CreateFile de Win32. Comprueba el valor de retorno y si es error,
mediante GetLastError puedes obtener por qué no se pudo abrir. Aunque no
tenga nada que ver directamente con el tema, esta entrada de mi blog
(http://geeks.ms/blogs/rfog/archive/...terop.aspx)
te explicará el tema del GetLastError y cómo funciona en entornos de
Interop. Si se abre el fichero, ese Handle que te retorna CreateFile te
sirve para asociarlo a un stream de .NET


Lo que no llego a entender es por qué no te vale un código como este:

FileStream fs;
try
{
fs=new FileStream(bla);
}
catch(No me acuerdo qué excepción)
{
}


Microsoft Visual C++ MVP
==Mi blog sobre programación: http://geeks.ms/blogs/rfog
Mi blog sobre literatura: http://rfog.blogsome.com
Libros, ciencia ficción y programación
El amor es ciego.

"Fernando Alonso" wrote in
message news:
Ya intente con todos los parametros del filestream pero al tenerlo abierto
el
otro problema, me genera la excepcion, aqui el detalle es que no quiero
que
me genere excepciones, sino que estoy buscando alguna funcion que me
informe
si esta el archivo siendo utilizado por el otro programa, para ya poder
utilizarlo.

Gracias...

"Harvey Triana" wrote:

Entre los parametros de Open(), investiga Shared. En general resuleve en
parte este tipo de problemas. Aunque no es escalable ¿No? -

<HT />

"Fernando Alonso" escribió en
el
mensaje news:
> Hola a todos.
>
> Utilizo el filestream para leer el contenido de un archivo de
> texto,
> el problema que tengo es que en ocasiones al leerlo, el otro programa
> que
> lo
> crea no lo ha liberado y me genera una excepcion de que esta siendo
> utilizado
> por otro proceso.
>
> Como le puedo hacer para que antes de abrirlo verificar que no este
> siendo utilizado por otro proceso?
>
> Muchas Gracias...



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