badfsaadkl
Goto Top

Datei eingabe - ausgabe via Schleife

Probleme mit dem Schreiben in eine Datei via Schleife in Visual Studio 2005

Hallo zusammen,


ich versuche in Visual Studio 2005 eine Datei auszulesen...
dies funktioniert ja auch wunderbar...
Nur wenn ich dann für jeden Wert in der Datei, mir diesen Wert via Schleife in eine neue Datei ausgeben will, macht er nur den letzten Wert.

Kann mir jemand helfen wo hier mein Denkfehler ist ???

Imports System.IO
Public Class frm_main

Private Sub cmd_open_file_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_open_file.Click
Dim ofc As New OpenFileDialog
ofc.Filter = "Texte (*.txt)|*.txt"
ofc.Title = "Wählen Sie die zu öffnende Datei aus"
If ofc.ShowDialog() = Windows.Forms.DialogResult.OK Then
MsgBox("Es wird geöffnet: " & ofc.FileName)
Else
MsgBox("Es ist ein Fehler aufgetreten")
End If
Dim Inhalt As New FileStream(ofc.FileName, FileMode.Open)
Dim sr As New StreamReader(Inhalt)
Dim zeile2 As String
Do Until sr.Peek() = -1
zeile2 = sr.ReadLine()
Dim fs As New FileStream("output.txt", FileMode.Create)
Dim sw As New StreamWriter(fs)
sw.WriteLine(zeile2 & vbCrLf)
sw.Close()
Loop
sr.Close()
End Sub
End Class

Im oberen Teil öffne ich die Datei normal via "OpenFileDialog"...
das funktioniert ja wie gesagt wunderbar...

Muß ich da die ein oder andere Zeile ein wenig "verrücken" ???

Bin mit Schleifen nicht so ganz "per du"....

Danke

Content-Key: 122440

Url: https://administrator.de/contentid/122440

Printed on: April 26, 2024 at 20:04 o'clock

Member: bastla
bastla Aug 10, 2009 at 20:10:51 (UTC)
Goto Top
Hallo BadFsaadKl!

Da Du in der Zeile
Dim fs As New FileStream("output.txt", FileMode.Create)
die Datei "output.txt" bei jedem Schleifendurchlauf neu erzeugst, enthält diese natürlich am Ende nur die letzte Zeile - verwende daher "Append" anstelle von "Create" (es geht also auch ohne eine besonders "verrückte" Zeile face-wink) ...

Grüße
bastla
Member: BadFsaadKl
BadFsaadKl Aug 10, 2009 at 20:19:17 (UTC)
Goto Top
Moin Bastla,


danke dir recht herzlich....
hat funktioniert...

also nach dem "fehler" hätt ich glaub ich EWIG gesucht...


DANKE