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
App. WinForms / WPF .NET
Poblema scrittura file Testo
mercoledì 25 ottobre 2006 - 17.32
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Djdee86
Profilo
| Newbie
39
messaggi | Data Invio:
mer 25 ott 2006 - 17:32
Buona sera ......
Sono Passato Adesso dal Vb 6 a vb.net.........e mi trovo unpò in difficoltà...........nella scrittura all'interno di un file testo
il codice che uso è:
Friend Function CreateTxt(ByVal Percorso As String, ByVal str() As String) As Boolean
Try
Percorso &= "\" & Format(Now(), "yyyyMMdd") & ".LDV"
If File.Exists(Percorso) = True Then
If MessageBox.Show("Il file " & Percorso & " già esiste, stituire il file esistente con il nuovo file?", "Sovrascrivi File", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
File.Delete(Percorso)
File.Create(Percorso)
End If
Else
File.Create(Percorso)
End If
File.WriteAllLines(Percorso, str)
Return True
Catch ex As Exception
MessageBox.Show(ex.Message, "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1)
Return False
End Try
End Function
Il Problema è che quando creo il file testo con vado a scrivere con l'istruzione File.WriteAllLines(Percorso, str) mi restituisce un errore del tipo:
"Il processo non può accedere al file 'C:\Documents and Settings\diego\Desktop\20061025.LDV' perché è in uso da un altro processo."
Potete darmi una mano..........
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
gio 26 ott 2006 - 11:31
>Il Problema è che quando creo il file testo con vado a scrivere
>con l'istruzione File.WriteAllLines(Percorso, str) mi restituisce
>un errore del tipo:
>"Il processo non può accedere al file 'C:\Documents and Settings\diego\Desktop\20061025.LDV'
>perché è in uso da un altro processo."
Beh il problema qui è semplice. Questo errore capita quando il file è già aperto da un altro processo e tu tenti di scrivergli sopra. Di solito devi usare la sequenza:
- Apri File
- Scrivi o leggi da File
- Chiudi File
Se manca il chiudi file è probabile che resti qualche handle sul file e poi ti resta di fatto "lockato" dal sistema. Quando vai a scrivergli sopra ti esce l'errore che hai indicato.
Quindi verifica di chiudere correttamente i file.
Ciao
David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/
Djdee86
Profilo
| Newbie
39
messaggi | Data Invio:
gio 26 ott 2006 - 11:54
Ora ho Risolto.........
Ho Trovato due soluzioni al mio problema:
La prima consiste nel togliere l'istruzione file.create.........infatti l'instruzione file.writeline si crea il file su cui scrive se non lo trova
e la seconda consiste nel instanziare un uggetto filestream che creerà il file e poi verrà chiuso
ex.
Dim fs As FileStream
fs = File.Create(Path)
fs.Close()
fs = Nothing
File.WriteAllLines(Path, Str())
Grazie lo stesso per l'aiuto.....
djdee86
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 !