VB – Scrierea într-un fișier cu StreamWriter (Programare, Vb.Net, Depanare, Streamwriter, Fișier În Uz)

Bpk7 a intrebat.

Încerc să scriu într-un fișier folosind StreamWriter.

Dim write as IO.StreamWriter
write = new io.streamwriter(file)
write.write(txtEncryption.text)
write.close

Am oprit codul în modul debug și am văzut că se blochează și merge direct la excepție când ajunge la linia 2.

Se datorează faptului că tocmai am făcut fișierul și este încă în uz ? Cum pot să evit acest lucru ?

Comentarii

  • Care este excepția? –  > Por Magnus.
  • Ei bine, în esență, trebuie să rețineți IOException în cazul în care fișierul este încă în uz, și să-i spuneți utilizatorului să închidă toate programele care au acces la fișier și să încerce din nou. –  > Por MrPaulch.
1 răspunsuri
qwr
Dim write As  IO.StreamWriter 
Try 
  write=New IO.StreamWriter(file)  
  write.write(txtEncryption.text)

Catch ex As Exception
  'Prompt error
  Console.WriteLine("Error {0}",ex.Message)

Finally 
    If write IsNot Nothing Then
        write.Close() 
    End If
End Try 

Presupunere (dacă fișierul nu a fost deschis în altă parte) : Ați deschis deja unul deschis. asigurați-vă că toate fluxurile deschise s-au închis corect. Puteți folosi și această sintaxă

Using writer As StreamWriter = New StreamWriter(file)
        writer.Write("....")
           //and so on
End Using

Comentarii

  • @user3246386 Am postat codul care va gestiona eroarea. Probabil că ați deschis fișierul, dar fără să îl închideți încercați să îl deschideți din nou. Deci, folosiți folosind pentru a gestiona închiderea pe deschidere în mod corespunzător –  > Por qwr.