Datei bearbeiten

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Joerg-SH.

    Datei bearbeiten

    Hallo,
    ich versuche mich gerade mal an einen Komadozeilen Programm.

    Es soll aus einer Textdatei mit folgenden Einträgen:

    address,value
    0x00,0xc3
    0x01,0x01
    0x03,0x00
    0x08,0x00
    0x0b,0x01
    ...

    die erste Zeile löschen und am Ende jeder Zeile ein "," einfügen.

    0x00,0xc3,
    0x01,0x01,
    0x03,0x00,
    0x08,0x00,
    0x0b,0x01,


    Öffnen und neue Datei Speichern habe ich schon hin bekommen.

    Quellcode

    1. Sub Main()
    2. Dim path As String = "c:\temp\MyTest.txt"
    3. ' Create or overwrite the file.
    4. Dim fs As FileStream = File.Create(path)
    5. ' Add text to the file.
    6. Dim fileReader As String
    7. fileReader = My.Computer.FileSystem.ReadAllText("C:\Temp\test.csv")
    8. Dim info As Byte() = New UTF8Encoding(True).GetBytes(fileReader)
    9. fs.Write(info, 0, info.Length)
    10. fs.Close()
    11. End Sub


    jetzt müsste ich "nur noch" die Daten aus fileReader vorher bearbeiten.

    nur wie stelle ich das am besten an?

    Für etwas Hilfe wäre ich sehr Dankbar!!

    Grüße

    Jörg
    ...
    Willkommen im Forum. :thumbup:
    Da hast Du aber mit großen Kanonen nach kleinen Spatzen geschossen. :D
    Sieh Dir mal den System.IO-Namespace an, da kannst Du Deine Datei zeilenweise in ein Array einlesen.

    VB.NET-Quellcode

    1. Dim all() As String = System.IO.File.ReadAllLines(DEIN_PFAD) ' alles einlesen
    2. Dim ll As New List(Of String) ' Out-Daten bereitstellen
    3. For i = 1 To all.Length - 1 ' die 1. Zeile ignorieren
    4. ll.Add(all(i) & ",") ' neue Zeile generieren
    5. Next
    6. System.IO.File.WriteAllLines(DEIN_ANDERER_PFAD, ll.ToArray) ' und speichern
    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!
    Hallo Rod,
    wow kaum zu glauben wie einfach das geht. Ich schreibe nur alle Jubel Jahre mal was mit VB und wunder mich immer wieder wie viele Möglichkeiten sich Microsoft hat einfallen lassen ein und das selbe zu tun.

    vielen vielen Dank.

    Mich weiter durch Suchmaschinen zu wühlen hätte sicher noch Tage gedauert bis ich es heraus hätte.


    sicher gibt es auch noch eine Möglichkeit den Dateinamen beim Aufruf des Programms mit anzugeben?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Joerg-SH“ ()

    Joerg-SH schrieb:

    sicher gibt es auch noch eine Möglichkeit
    Erzähl es aber nicht weiter:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Module Module1
    2. Sub Main(args() As String)
    3. Dim DEIN_PFAD = args(0)
    4. Dim DEIN_ANDERER_PFAD = args(0) & ".csv" ' oder wie Du halt Deine Datei benennst
    5. Dim all() As String = System.IO.File.ReadAllLines(DEIN_PFAD) ' alles einlesen
    6. Dim ll As New List(Of String) ' Out-Daten bereitstellen
    7. For i = 1 To all.Length - 1 ' die 1. Zeile ignorieren
    8. ll.Add(all(i) & ",") ' neue Zeile generieren
    9. Next
    10. System.IO.File.WriteAllLines(DEIN_ANDERER_PFAD, ll.ToArray) ' und speichern
    11. End Sub
    12. End Module
    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!