Datei erstellen und Zeilenweise einschreiben

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von Lingo.

    Datei erstellen und Zeilenweise einschreiben

    Hallo Zusammen

    Eine ziemliche Anfänger Frage.

    Ich wollte gerade mit VB.Net eine Datei erstellen lassen und dann Zeilenweise dort Text hineinschreiben.
    Jedoch meinte ich einmal gelesen zu haben, dass wenn ich [ic]Io.File.create()/ic] benutze das dies falsch ist.

    Stimmt das? Wenn ja wleche Klasse soll ich benutzten?

    Und um Zeilenweise Text in die Datei zu schreiben benötige ich einen StreamWriter?

    Vielen Dank für eure Antworten.

    Lingo schrieb:

    und dann Zeilenweise dort Text hineinschreiben.
    Woher kommt der text?
    Manchmal tut es auch ein Einzeiler:

    VB.NET-Quellcode

    1. Dim lines() = {"a", "b", "c"}
    2. System.IO.File.WriteAllLines("c:\Temp\test1.txt", lines)
    3. System.IO.File.WriteAllLines("c:\Temp\test2.txt", TextBox1.Lines)
    4. RichTextBox1.SaveFile("c:\Temp\test3.txt", RichTextBoxStreamType.PlainText)
    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!
    Lesen und schreiben geht z.b. so (hab ich mal so gemacht fürs zusammenfügen mehrerer Dateien):

    VB.NET-Quellcode

    1. Dim inhalt As String
    2. Dim objDateiLeser As IO.StreamReader
    3. objDateiLeser = New IO.StreamReader(File, Encoding.Default)
    4. inhalt = objDateiLeser.ReadToEnd()
    5. objDateiLeser.Close()
    6. objDateiLeser = Nothing
    7. Dim pfad As String = mergepath & "datei.txt"
    8. IO.File.AppendAllText(pfad, inhalt, Encoding.Default)
    Wer fragt, ist ein Narr für eine Minute. Wer nicht fragt, ist ein Narr sein Leben lang.
    Gibts da nicht irgendwas wo du direkt die cmd.exe öffnen kannst und Argumente übergibst?
    Ich such das mal....
    Auslesen geht, dann muss reinschreiben auch gehen.

    VB.NET-Quellcode

    1. Process.Start("cmd.exe", "/C robocopy C:\Temp /MIR M:\Temp")


    Das /C sagt das der Befehl beim Start ausgeführt wird.
    Wer fragt, ist ein Narr für eine Minute. Wer nicht fragt, ist ein Narr sein Leben lang.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Snaptu“ ()

    Lingo schrieb:

    eine BAtch Datei
    machst Du so:

    VB.NET-Quellcode

    1. Dim batch As New List(Of String)
    2. batch.Add("@echo off")
    3. batch.Add("robocopy <Source> C:\Temp")
    4. batch.Add("C:\Temp\<Datei welche geöffnet werden soll>")
    5. System.IO.File.WriteAllLines("c:\Temp\test.bat", batch.ToArray)
    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!
    @RodFromGermany

    Ich habe auch einbischen herum probiert.
    Ich bin auf das gekommen:

    VB.NET-Quellcode

    1. System.IO.File.Create("C:\Users\TestUser\Desktop\123.txt")
    2. My.Computer.FileSystem.WriteAllText("C:\Users\TestUser\Desktop\123.txt", "Hallo", True)
    3. My.Computer.FileSystem.WriteAllText("C:\Users\TestUser\Desktop\123.txt", "Test", True)


    Aber ich glaube deine Variante ist viel besser.

    Vielen Dank!