Dateien lesen/schreiben

  • VB.NET
  • .NET (FX) 4.0

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von JeremyStar.

    Dateien lesen/schreiben

    Hallo alle zusammen ;)

    Ich habe schon einmal so eine Frage gestellt, habe darmals aber wenig Ahnung gehabt.

    Also, zu meinem Problem:

    Ich programmiere ein Programm für meinen eigengebrauch und Vlt. auch später für das Internet.

    Ich habe ein GUI Programm sowie ein Programm als CMD dass die Log Datei anzeigt.

    Nun habe ich das programmiert und wenn das Programm versucht auf die
    '.\log.txt' zuzugreifen kommt nur in der CMD 'System.IO.StreamReader'.

    Ich habe dabei 'My.Computer.FileSystem.OpenTextFileReader(".\log.txt")' genutzt.

    Anders herum Frage ich mich bei dem GUI wie das da mit dem schreiben
    funktionieren soll wenn in der CMD schon so ein Fehler kommt.

    Danke für die Hife,

    2020 JeremyStar
    ===================
    JeremyStar™
    Gehirne sind sesam ༼ つ ◕◡◕ ༽つ
    staropensource.ddns.net/jstm/
    ===================
    @JeremyStar Ich nehme mal an, dass das zeilenbasierte Dateien sind.

    VB.NET-Quellcode

    1. Dim lines() = System.IO.File.ReadAllLines(DEIN_DATEIPFAD)
    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!
    Was meinst du damit, @RodFromGermany?

    Ich nutze übrigens Console.WriteLine(<Die .\log.txt>)
    ===================
    JeremyStar™
    Gehirne sind sesam ༼ つ ◕◡◕ ༽つ
    staropensource.ddns.net/jstm/
    ===================

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

    @JeremyStar Das ist ein Einzeiler, um eine Datei zu lesen.
    Wie Du nun zu Recht annimmst, geht das Schreiben bzw. Anhängen auch mit nem Einzeiler:

    VB.NET-Quellcode

    1. System.IO.File.WriteAllLines(DEIN_DATEIPFAD, DEIN_STRING_ARRAY)
    2. System.IO.File.AppendAllText(DEIN_DATEIPFAD, DEIN_STRING)
    Ansonsten hab ich Dich wohl falsch verstanden.
    In diesem Falle beschreib noxh mal Dein Problem so, dass wir das verstehen, was Du meinst.
    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!
    Das ist sicherlich fürs schreiben gedacht. Danke dafür schonmal, aber ich frage mich wie ich die log.txt lesen soll in der CMD und dann per Console.WriteLine() anzeigen soll.

    Ich hatte vorher das hier als Code (Der ganze Logging Prozess):

    VB.NET-Quellcode

    1. Console.Clear()
    2. ' Checks if the log.txt in the current directory exist
    3. If My.Computer.FileSystem.FileExists(".\log.txt") Then
    4. ' Displays the log.txt
    5. My.Computer.FileSystem.OpenTextFileReader(".\log.txt")
    6. Threading.Thread.Sleep(1000)
    7. loggingService()
    8. Else
    9. ' Displays an error that the log.txt in the current directory does not exist
    10. Console.WriteLine("The file 'log.txt' does not exist in the current folder.")
    11. Console.WriteLine("Try to start StarSuperStream or check that the log.txt is in the installation folder.")
    12. Console.WriteLine("Current reading directory: " + My.Computer.FileSystem.CurrentDirectory)
    13. Threading.Thread.Sleep(1000)
    14. loggingService()
    15. End If
    ===================
    JeremyStar™
    Gehirne sind sesam ༼ つ ◕◡◕ ༽つ
    staropensource.ddns.net/jstm/
    ===================
    @JeremyStar Das hab ich Dir doch eben in Post #2 geschrieben.
    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!
    Ok. Ich verstehe öfters etwas falsch. Danke schonmal. Ich versuche es mal so...


    Hmm... Bei mir kommt nur 'System.String[]'. :(, @RodFromGermany
    ===================
    JeremyStar™
    Gehirne sind sesam ༼ つ ◕◡◕ ༽つ
    staropensource.ddns.net/jstm/
    ===================

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „JeremyStar“ ()

    JeremyStar schrieb:

    Bei mir kommt nur 'System.String[]
    Mit welchem Code?
    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!
    Keinem, oder meinst du den hier, @RodFromGermany:

    VB.NET-Quellcode

    1. Dim loggerfile() = System.IO.File.ReadAllLines(".\log.txt")
    2. Console.Clear()
    3. ' Checks if the log.txt in the current directory exist
    4. If My.Computer.FileSystem.FileExists(".\log.txt") Then
    5. ' Displays the log.txt
    6. Console.WriteLine(loggerfile)
    7. Threading.Thread.Sleep(1000)
    8. loggingService()
    9. Else
    10. ' Displays an error that the log.txt in the current directory does not exist
    11. Console.WriteLine("The file 'log.txt' does not exist in the current folder.")
    12. Console.WriteLine("Try to start StarSuperStream or check that the log.txt is in the installation folder.")
    13. Console.WriteLine("Current reading directory: " + My.Computer.FileSystem.CurrentDirectory)
    14. Threading.Thread.Sleep(1000)
    15. loggingService()
    16. End If

    ===================
    JeremyStar™
    Gehirne sind sesam ༼ つ ◕◡◕ ༽つ
    staropensource.ddns.net/jstm/
    ===================

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

    @JeremyStar OK, dann etwas anders:

    VB.NET-Quellcode

    1. Console.Clear()
    2. ' Checks if the log.txt in the current directory exist
    3. If System.IO.File.Exists(".\log.txt") Then
    4. ' Displays the log.txt
    5. For Each line in System.IO.File.ReadLines(".\log.txt")
    6. Console.WriteLine(line)
    7. Next
    8. Else
    9. ' Displays an error that the log.txt in the current directory does not exist
    10. Console.WriteLine("The file 'log.txt' does not exist in the current folder.")
    11. Console.WriteLine("Try to start StarSuperStream or check that the log.txt is in the installation folder.")
    12. Console.WriteLine("Current reading directory: " + My.Computer.FileSystem.CurrentDirectory)
    13. End If
    14. Threading.Thread.Sleep(1000)
    15. loggingService()
    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!
    Danke, @RodFromGermany.

    Ich habe jetzt den Text gescheit gelesen bekommen.
    Ich melde mich wieder falls das mit dem schreiben der GUI nicht funktioniert. Wenn kein Fehler kommt makiere ich es in ein paar Tagen/Stunden als makiert.
    ===================
    JeremyStar™
    Gehirne sind sesam ༼ つ ◕◡◕ ༽つ
    staropensource.ddns.net/jstm/
    ===================