Komischer Bug beim StreamWriter

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Komischer Bug beim StreamWriter

    Hi,

    VB.NET-Quellcode

    1. Dim sw As New StreamWriter(Path)
    2. sw.Write("")
    3. sw.Close()


    So schreibe ich eine Datei ohne Probleme und lösche sie später im Tool mit:

    VB.NET-Quellcode

    1. If System.IO.File.Exists(Path) Then
    2. System.IO.File.Delete(Path)
    3. End If


    Das Ganze funktioniert auch. Da aber Umlaute nicht richtig gespeichert werden, verwende ich die beiden anderen Parameter der Klasse Streamwriter:

    VB.NET-Quellcode

    1. Dim sw As New StreamWriter(Path, False, System.Text.Encoding.UTF8)
    2. sw.Write("")
    3. sw.Close()


    Mit diesen beiden Parametern stürzt das Tool dann ab :/ Fehlermeldung: Der Prozess kann nicht auf die Datei "C:\Users\xxx\Desktop\test\main.txt" zugreifen, da sie von einem anderen Prozess verwendet wird.

    Was geht da ab ?^^
    Zur Fehlermeldung: Wo ist genau das Problem, du hast eine Fehlermeldung die genau sagt was los ist.

    Die Datei wurde von wo anders geöffnet daher hast du keinen Zugriff drauf. Falls du die Datei 2x in deinem Code geöffnet hast dann musst du sie vorher schließen bevor eine andere Methode drauf zugreifen kann.
    Ansonsten alle Programme schließen die auf die Datei zugreifen(hierbei kann das Programm LockHunter aushelfen).
    Probier es mal mit

    VB.NET-Quellcode

    1. Using sw As New System.IO.StreamWriter(Path)
    2. sw.Write("")
    3. End Using
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!