none
String in eineTextdatei einfügen ohne alles neu zu schreiben RRS feed

  • Frage

  • Hallo User,

    um weiter das Thema Datenbanken zu umgehen (ist mir zu aufwendig),
    suche ich nach einer ganz einfachen Methode eine Zeile in eine
    Textdatei einzufügen, ohne das die Datei in irgendeiner Form
    vollständig neu geschrieben werden muss.

    Statt "File.AppendText" ein "File.InsertText", gibt es so etwas?

    RUDI

    Mittwoch, 14. August 2013 13:54

Antworten

  • Grtundsätzlich musst du dir erstmal ein Datenbanksystem suchen welches du verwenden willst. Das geht von Acces bis hin zu "großen" SQL-Servern.

    Microsoft SQL Server 2012 Express ist kostenlos und sollte recht einfach zu handhaben sein. Den Download gibts hier:
    http://www.microsoft.com/de-de/download/details.aspx?id=29062

    Ich habe bisher nur mit einem Online SQL Server 2008 R2 gearbeitet, das was du brauchst solltest du aber auch mittels derr Express-Version hinbekommen.

    Alles wichtige kannst du hier nachlesen. Natürlich ist es erstmal anders als in Dateien zu schrieben, aber wenn man einmal durch die SQL-Befehle usw. durchsieht geht alles einfacher.

    PS: Ich habe den Code oben nochmal in VB.NET übersetzt, ich dachte es bezieht sich auf C#.


    <Code-13/>- Koopakiller [kuːpakɪllɐ] (Tom Lambert)
    Webseite | Code Beispiele | Facebook | Twitter | Snippets   C# ↔ VB.NET Konverter
    Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.

    • Als Antwort markiert Rudi Remmiz Sonntag, 18. August 2013 16:48
    Mittwoch, 14. August 2013 15:44
    Moderator

Alle Antworten

  • Hallo, nein so eine Methode gibt es meines Wissens nach nicht. Es gibt aber mehrere Möglichkeiten um das zu realisieren. Einmal wirklich ohne die Daten komplett neu zu schreiben:
    http://www.codeproject.com/Articles/17716/Insert-Text-into-Existing-Files-in-C-Without-Temp

    Oder aber du ließt alle Zeilen ein und veränderst einige entsprechend:

    Dim lines As string() =File.ReadAllLines("FILE")
    lines(3) += vbCrLf & "Eine Zeile nach der 4. Zeile"
    File.WriteAllLines("FILE", lines)
    Datenbanken fand ich früher auch kompliziert, mitlerweile benutze ich die aber lieber als Dateien wenn es uim Datensatzartige Daten geht.


    <Code-13/>- Koopakiller [kuːpakɪllɐ] (Tom Lambert)
    Webseite | Code Beispiele | Facebook | Twitter | Snippets   C# ↔ VB.NET Konverter
    Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.


    Mittwoch, 14. August 2013 14:11
    Moderator
  • Hier wird doch auch das ganze "Ding" neu geschrieben, Oder?
    string[] lines=File.ReadAllLines("FILE");
    lines[3] += "\r\nEine Zeile nach der 4. Zeile";
    File.WriteAllLines("FILE", lines);

    Hast Du einen Tipp. ich arbeite mit VB 2010 Express, was wirklich

    schlicht und solide ist?  Was hälst Du von "SQLDataSet" ?

    RUDI


     
    Mittwoch, 14. August 2013 14:34
  • Grtundsätzlich musst du dir erstmal ein Datenbanksystem suchen welches du verwenden willst. Das geht von Acces bis hin zu "großen" SQL-Servern.

    Microsoft SQL Server 2012 Express ist kostenlos und sollte recht einfach zu handhaben sein. Den Download gibts hier:
    http://www.microsoft.com/de-de/download/details.aspx?id=29062

    Ich habe bisher nur mit einem Online SQL Server 2008 R2 gearbeitet, das was du brauchst solltest du aber auch mittels derr Express-Version hinbekommen.

    Alles wichtige kannst du hier nachlesen. Natürlich ist es erstmal anders als in Dateien zu schrieben, aber wenn man einmal durch die SQL-Befehle usw. durchsieht geht alles einfacher.

    PS: Ich habe den Code oben nochmal in VB.NET übersetzt, ich dachte es bezieht sich auf C#.


    <Code-13/>- Koopakiller [kuːpakɪllɐ] (Tom Lambert)
    Webseite | Code Beispiele | Facebook | Twitter | Snippets   C# ↔ VB.NET Konverter
    Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.

    • Als Antwort markiert Rudi Remmiz Sonntag, 18. August 2013 16:48
    Mittwoch, 14. August 2013 15:44
    Moderator