Logo UGIdotNET

Discussione 'Lock e lettura di un file'

# Pubblicato il 04 feb 2004 14.54 - Rispondi
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.
# Pubblicato il 04 feb 2004 15.08 - Rispondi
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.
# Pubblicato il 04 feb 2004 15.35 - Rispondi
genesio galbiati
Re: Lock e lettura di un file
Grazie 1000, funziona tutto.
Ancora tante grazie

© 2001 User Group Italiano UGIdotNET. Tutti i diritti riservati. Note legali. - Partita IVA 01927050185