Je crée une petite application vb.net, et j'essaye d'écrire une liste de résultats d'un listview dans un fichier texte. J'ai regardé en ligne et trouvé le code pour ouvrir la boîte de dialogue de sauvegarde et écrire le fichier texte. Lorsque je clique sur Enregistrer dans la boîte de dialogue Enregistrer le fichier, je reçois une IOException avec le message "Le processus ne peut pas accéder au fichier C: \ thethe.txt" car il est utilisé par un autre processus. " Le fichier texte est créé à l'emplacement correct, mais est vide. L'application se ferme à cette ligne "Dim fs comme nouveau FileStream (saveFileDialog1.FileName, FileMode.OpenOrCreate, FileAccess.Write)" Merci d'avance pour toute aide.créer et écrire dans un fichier texte dans vb.net
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
Dim myStream As Stream
Dim saveFileDialog1 As New SaveFileDialog()
saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
saveFileDialog1.FilterIndex = 2
saveFileDialog1.RestoreDirectory = True
If saveFileDialog1.ShowDialog() = DialogResult.OK Then
myStream = saveFileDialog1.OpenFile()
If (myStream IsNot Nothing) Then
Dim fs As New FileStream(saveFileDialog1.FileName, FileMode.OpenOrCreate, FileAccess.Write)
Dim m_streamWriter As New StreamWriter(fs)
m_streamWriter.Flush()
'Write to the file using StreamWriter class
m_streamWriter.BaseStream.Seek(0, SeekOrigin.Begin)
'write each row of the ListView out to a tab-delimited line in a file
For i As Integer = 0 To Me.ListView1.Items.Count - 1
m_streamWriter.WriteLine(((ListView1.Items(i).Text & vbTab) + ListView1.Items(i).SubItems(0).ToString() & vbTab) + ListView1.Items(i).SubItems(1).ToString())
Next
myStream.Close()
End If
End If
End Sub
Cela fonctionne très bien. Merci beaucoup. – Zachary