Dateien Öffnen und schreiben Mit .Net framework

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Dateien Öffnen und schreiben Mit .Net framework

      Hallo
      da es hier noch einige leute gibt die gerade erst mit Visual basic angefangen haben mache ich mal ein anfänger guide zum öffnen lesen und schreiben von dateien mit der System.IO von Windows

      1. wir erstellen ein neues projekt z.b. eine console
      2. über Moudle Module1 schreibt Ihr

      Quellcode

      1. Imports System.IO

      3.1 Mit Filestream
      ihr benötigt dazu zuerst mal einen stream von der datei dafür benutzt ihr den code

      Quellcode

      1. Dim FStream As New FileStream("C:\Datei.txt", FileMode.OpenOrCreate)

      erklärung: mit dem Filestream wird eine datei geöffnet und der stream geladen den man nun auslesen kann
      Das FileMode.OpenOrCreate heist das er sie öffnet oder erstellt
      3.1.1 Lesen über StreamReader
      Der StreamReader ist eine bequeme möglichkeit die bytes des Streams zu lesen und zu String zu converten mit nur einem befehl desweiteren bietet er uns lese optionen wie z.b. nur zeile oder nur block
      Dazu deklarieren wir zu erst

      Quellcode

      1. Dim Reader As New StreamReader(FStream, System.Text.Encoding.ASCII)

      mann kann es auch ohne Filestream machen dann müsste anstadt (FStream,...) einfach ("C:\Datei.txt", ...) hin aber der filestream bietet noch weitere funktionen die euch bis auf eine noch nicht interresieren sollten.
      die einzige hilfreiche funktion für euch ist momentan nur die abfrage

      Quellcode

      1. If FStream.CanRead And FStream.CanWrite Then
      damit überprüft ihr pb lesen und schreiben funktioniert um unnötogen fehlern aus dem weg zu gehen

      also nun zum lesen ihr könnt mit dem streamreader alle lienien oder blocks einzeln lesen mit

      Quellcode

      1. While Not Reader.EndOfStream
      2. Dim Line = Reader.ReadLine 'eine zeile auslesen und als line für diese schleife speichern
      3. End While

      und Für blöcke

      Quellcode

      1. While Not Reader.EndOfStream
      2. Dim Block = Reader.ReadBlock 'einen Blok auslesen und als block für diese schleife speichern
      3. End While


      wenn ihr nun alles als ein text speichern wollt macht ihr einfach

      Quellcode

      1. Dim Str As String
      2. While Not Reader.EndOfStream
      3. Str += Reader.ReadLine+vbNewLine
      4. End While


      3.1.2 Schreiben Mit StreamWriter
      Der Stream Writer Funktioniert ähnlich wie streamreader nur dass er schreibt anstadt zu lesen also text als bytes in den stream rein
      Dafür Deklariert Ihr zuerst den Writer

      Quellcode

      1. Dim Writer As New StreamWriter(FStream)

      und dann geht es so wie mit console.Write also

      Quellcode

      1. Writer.Write("Einen text")

      oder

      Quellcode

      1. Writer.WriteLine("Eine Zeile")

      Wichtig! nach dem schreiben immer Writer.Close oder Writer.Flush und nach dem Benutzen der datei immer Reader.Close und Writer.Close und FStream.Close

      3.2 Über Die IO.File Methode
      3.2.1 Lesen
      Um Den Gesamten Text in eine Variable zu lesen Geht der code ganz einfach

      Quellcode

      1. Dim Text As String = File.ReadAllText("C:\Datei.txt")

      um alle zeilen in einen array zu lesen

      Quellcode

      1. Dim Lines() As String = File.ReadAllLines("C:\Datei.txt")

      Um jedes zeichen in einen array von byte zu lesen

      Quellcode

      1. Dim Bytes() As Byte = File.ReadAllBytes("C:\Datei.txt")

      allerdings um sie dann abzurufen muss man dann

      Quellcode

      1. System.Convert.ToString(Bytes(4))
      damit wird dass 5te zeichen ausgelesen

      Noch ein paar sachen
      Anzahl der Zeilen

      Quellcode

      1. Dim Lines() As String = File.ReadAllLines("C:\Datei.txt")
      2. Dim Anzahl Long = Ubound(Lines)

      Nur eine Zeile Auslesen(z.b. zeile 5)

      Quellcode

      1. Dim Lines() As String = File.ReadAllLines("C:\Datei.txt")
      2. Dim Str As String = Lines(Zeile - 1)

      Alle zeilen einzeln durchgehen und als message zeigen

      Quellcode

      1. For Each s As String In File.ReadAllLines("C:\Datei.txt")
      2. msgBox(s)
      3. Next


      3.2.2 Schreiben mit IO.File
      alle werte eines array in datei schreiben(1 wert = 1 zeile)

      Quellcode

      1. File.WriteAllLines("C:\Datei.txt", Array)


      Alle werte eines arrays als einzelen byte schreiben

      Quellcode

      1. File.WriteAllBytes("C:\Datei.txt", Bytearray)[CODE]
      2. nur text schreiben
      3. [CODE]File.WriteAllText("C:\Datei.txt", Str)
    • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )