Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
.NET Framework
[C#] Lettura File aperto...
giovedì 27 gennaio 2011 - 11.33
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
gerald81
Profilo
| Newbie
6
messaggi | Data Invio:
gio 27 gen 2011 - 11:33
Ciao Ragazzi, ho il seguente problema in cui stò sbattendoci la testa da un pò di ore...
In sostanza ho un file (di testo) aperto da ULTRAEDIT in modalità senza file di backup, lo stesso file se viene aperto e letto da un programmino in VB6.0, utilizzando la classica OPEN, non dà alcun problema, invece in C# utilizzando la classe FileStream mi dà il seguente errore:
"Il processo non può accedere al file '...............' perchè è in uso da un'altro processo.
Come mai? Esiste il modo di aprire il file anche in C#?
Ringrazio tutti
Roberto
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
gio 27 gen 2011 - 12:51
>Ciao Ragazzi, ho il seguente problema in cui stò sbattendoci
>la testa da un pò di ore...
Ciao
>mi dà il seguente errore:
>"Il processo non può accedere al file '...............' perchè
>è in uso da un'altro processo.
>Come mai? Esiste il modo di aprire il file anche in C#?
posta il codice dell'istanziazione del FileStream. Così vediamo che costruttore utilizzi.
>Ringrazio tutti
di nulla!
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
gerald81
Profilo
| Newbie
6
messaggi | Data Invio:
gio 27 gen 2011 - 13:20
Grazie per l'attenzione!
Ecco la riga di codice che solleva la IOException:
FileStream fs = new FileStream(sFileIdx, FileMode.Open, FileAccess.Read, FileShare.Read);
Ovviamente, se il file è aperto da ULTRAEDIT con l'opzione del file di backup, questo errore non viene sollevato, mentre come già accennato, la OPEN di VB 6.0 non dà questo errore.
Roberto 'Gerald81'
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
gio 27 gen 2011 - 14:15
>FileStream fs = new FileStream(sFileIdx, FileMode.Open, FileAccess.Read, FileShare.Read);
>Ovviamente, se il file è aperto da ULTRAEDIT con l'opzione del
>file di backup, questo errore non viene sollevato, mentre come
>già accennato, la OPEN di VB 6.0 non dà questo errore.
Questo perchè UE effettua accessi continui al file per backuppare tutto..
Hai provato a cambiare il FileShare a ReadWrite?
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
gerald81
Profilo
| Newbie
6
messaggi | Data Invio:
gio 27 gen 2011 - 14:37
Funziona..... ottimo!
FileStream fs = new FileStream(sFileIdx, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
Mi chiedo perchè... siccome è UE che apre il file (quindi LUI deve aprirlo in ReadWrite)....
Grazie1000
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
gio 27 gen 2011 - 14:48
>Funziona..... ottimo!
bene
>FileStream fs = new FileStream(sFileIdx, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
>Mi chiedo perchè... siccome è UE che apre il file (quindi LUI deve aprirlo in ReadWrite)....
non è questione di chi arriva primo
Chi usa il file, lo condivide per eventuali altri access in scrittura e lettura
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !