| genesio galbiati |
Lock e lettura di un file
Ciao a tutti!
Ho bisogno di "convertire" il seguente codice VB6 in codice .NET, vorrei evitare di usare funzioni che rimangono in .NET solo per compatibilità. Il codice è il seguente: Dim PathFile As String = "C:\Prova.txt" Dim fp As Integer fp = FreeFile() FileOpen(fp, PathFile, OpenMode.Input, OpenAccess.Read, OpenShare.LockReadWrite) While Not EOF(fp) MsgBox(LineInput(fp)) End While FileClose(fp) il mio obiettivo è quello di poter leggere riga per riga un file aprendolo con lock esclusivo Ho guardato tra le diverse classi di gestione dei files che vengono messe a disposizione ed ho visto che gli unici modi per aprire un file con lock sono: 1) Dim Nome As String = "C:\Prova.txt" Dim fi As FileInfo Dim fs As FileStream fs = fi.Open(FileMode.Open, FileAccess.Read, FileShare.None) 2) Dim Nome As String = "C:\Prova.txt" Dim fs As FileStream fs = File.Open(FileMode.Open, FileAccess.Read, FileShare.None) Il problema è che entrambi questi metodi tornano un oggetto FileStream che non può essere letto riga per riga. Ho visto che per leggere un file riga per riga posso usare il seguente codice: Dim Nome As String = txtPath.Text Dim sr As StreamReader sr = File.OpenText(Nome) While sr.Peek > -1 MsgBox(sr.ReadLine()) End While il problema con questo metodo è che non eseguo il lock del file Forse sono io che non ho cercato abbastanza, ma sto davvero impazzendo. Grazie a chiunque sappia darmi anche solo un suggerimento. Ciao a tutti. |
| Alex |
Re: Lock e lettura di un file
Prova così: Dim fi As System.IO.FileInfo Dim fs As System.IO.FileStream fs = fi.Open(IO.FileMode.Open, IO.FileAccess.Read, IO.FileShare.None) Dim sr As New System.IO.StreamReader(fs) -- HTH -- Alex UGIdotNET - http://www.ugidotnet.org Weblog: http://www.ugidotnet.org/2435.blog ---------------------- Questo messaggio è stato postato da microsoft.public.it.dotnet.vb. |
| genesio galbiati |
Re: Lock e lettura di un file
Grazie 1000, funziona tutto.
Ancora tante grazie |