none
String in Textdatei in bestimmte Zeile schreiben RRS feed

  • Allgemeine Diskussion

  • Hallo,

    ich habe das Problem, dass ich zwei strings miteinander vergleiche und jenachdem ob der string kleiner oder größer ist soll er in eine bestimmte Zeile in meiner Textdatei geschrieben werden. Gibts irgendeine möglichkeit die Zeile zu bestimmen in die ich schreiben möchte?

     

    MFG

    Dienstag, 10. Mai 2011 14:10

Alle Antworten

  • Hi,

    ich hab mal ein wenig rumprobiert und dabei dies hier geschrieben....

    ...funktioniert an sich schon, jedoch löscht es noch das erste Zeichen des nachfolgenden Strings....

    muss du mal etwas herumprobieren...

          FileStream mainFile = new FileStream(@"C:\test.txt", FileMode.Open);
          StreamReader read = new StreamReader(mainFile, Encoding.Default);
          long Position = -1; //laufende Position inkl. Zeilenumbruch
          long PositionZeile = 0; //Position
          string zeile;
          string zeileNew = "test12345";
          while (read.Peek() != -1)
          {
            zeile = read.ReadLine();
            if (zeile.Length < zeileNew.Length)
            {
              Position = PositionZeile;
            }
            PositionZeile += zeile.Length + 2; //+2 wegen Zeilenumbruch
          }
          read.Close();
    
          mainFile = new FileStream(@"C:\test.txt", FileMode.Open);
          StreamWriter write = new StreamWriter(mainFile, Encoding.Default);
          if (Position != -1)
          {
            mainFile.Seek(Position,System.IO.SeekOrigin.Begin);
            write.WriteLine(zeileNew);
            write.Close();
          }
    
    Dienstag, 10. Mai 2011 15:19