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
Lettura di un file
giovedì 22 dicembre 2005 - 09.23
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Klaus-zanini
Profilo
| Senior Member
364
messaggi | Data Invio:
gio 22 dic 2005 - 09:23
Ciao a tutti,
ho il seguente problema: devo leggere le informazioni da un file di testo ed elaborarle come stringa ma se ripeto l'operazione alcune volte trovo che il file è inaccessibile perché già in uso da un altro processo...ma non so quale (credo che sia il mio, ma a questo punto non so cosa devo fare per rilasciare il file...).
Questo sono le chiamate che faccio:
Dim oFile As New System.IO.FileInfo(Indirizzo)
Dim mySR As StreamReader
Try
mySR = File.OpenText(oFile.FullName)
Dim testo As String
testo = mySR.ReadToEnd
testo.Clone()
Return testo
Catch
Return Nothing
End Try
Senza motivi evidenti a volte l'OpenText funziona e a volte no.
Un'altra cosa quello che recupero (il testo) non ha sempre il corretto valore che mi aspetto...ad esempio "è,é,à,ò..." non vengono riportate o riportate con altri valori. Mi sapreste dire che tipo di encoding dovrei utilizzare?
totti240282
Profilo
| Guru
1.574
messaggi | Data Invio:
gio 22 dic 2005 - 09:51
attenzione che devi chiudere lo stream cosi
mySR.close
mySR =nothing
per la formattazione devi impostare all'apertura del file la giusta codifica tipo ascii ,ansi ecc...
C'è solo un capitano !!!!!!
Klaus-zanini
Profilo
| Senior Member
364
messaggi | Data Invio:
gio 22 dic 2005 - 09:53
Ora provo a chiudere lo stream come dici tu.
Ma qual'è la giusta decodifica?
Klaus-zanini
Profilo
| Senior Member
364
messaggi | Data Invio:
gio 22 dic 2005 - 10:04
Niente da fare...il problema rimane
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
gio 22 dic 2005 - 10:55
Prova con:
Dim ISO8859 As System.Text.Encoding = System.Text.Encoding.GetEncoding(1252)
Dim sr As StreamReader = New StreamReader(myFile,ISO8859)
testo = sr.ReadToEnd()
sr.Close()
Klaus-zanini
Profilo
| Senior Member
364
messaggi | Data Invio:
mar 27 dic 2005 - 09:39
Grazie mille tutto funziona ora.
Luciano gentilmente mi spiegheresesti il significato del valore numerico presente nell'encoding che mi hai suggerito?
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
mar 27 dic 2005 - 10:21
Si tratta del valore del codepage che corrisponde alla nostra zona.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemtextencodingclassgetencodingtopic1.asp
Klaus-zanini
Profilo
| Senior Member
364
messaggi | Data Invio:
ven 30 dic 2005 - 15:48
Luciano, scusa se ti rompo di nuovo ma per caso quando devo scrivere un file devo usare anche in tal caso quell'encoding? Se sì mi fai un esempio? Perché tra i costruttori dello streamwriter non c'è quello che riceve come parametri il file su cui scrivere e l'encoding.
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
ven 30 dic 2005 - 15:54
Mi sembra proprio (è un eufemismo perchè ne sono proprio sicuro) che, se vuoi i caratteri nazionali come i caratteri accentati, il simbolo dell'euro e altri siano scritti devi proprio usare l'encoding.
Klaus-zanini
Profilo
| Senior Member
364
messaggi | Data Invio:
ven 30 dic 2005 - 15:57
Quindi potrei fare così?
Dim ISO8859 As System.Text.Encoding = System.Text.Encoding.GetEncoding(1252)
Dim MySW As New StreamWriter(New FileStream("C:\Prova.txt", FileMode.CreateNew), ISO8859)
MySW.Write("Pippo è un cane")
MySW.Close()
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 !