2015-09-07 6 views
-1

Я взял входной код через файл и я должен генерировать данные в соответствии с ним и выход его результат в текстовом файле, а .. Мой код выхода ниже ..выхода дисплея в текстовом файле

public void Generator() 
    { 
    /// ....... Code 
    public void DisplayTOKENS() 
    { 

     using (StreamWriter writer = 
    new StreamWriter("C:\\Users\\saeed\\Documents\\Outputt.txt")) 
     { 
     for (int i = 0; i < j;i++) 
     { 
      tok[i].Display_Token(); 
     } } 

    } 

// и в других Структур имени ЗНАК

public void Display_Token() 
    { /* 
      using (StreamWriter writer = 
    new StreamWriter("C:\\Users\\saeed\\Documents\\Outputt.txt")) 
     { 
      writer.Write("(" + this.Class_Part + " , "); 
      writer.Write(this.Value_Part + " , "); 
      writer.Write(this.Line_no + ")"); 
      writer.WriteLine(); 
     }*/ 
      Console.Write("(" + this.Class_Part + " , "); 
      Console.Write(this.Value_Part + " , "); 
      Console.Write(this.Line_no + ")"); 
      Console.WriteLine(); 

    } 

Когда я пытаюсь работать непосредственно в Display_Token то просто показать последнюю строку в файле .. я хочу, чтобы отобразить полный массив в файле. ожидая положительного ответа !!

+0

Было бы интересно посмотреть, как вы заполняете массив тока (или список) – Steve

+0

@ Задача проблемы решена! Спасибо в любом случае :) –

ответ

0

Этот конструктор StreamWriter перезаписывает существующий файл. Таким образом, каждый токен эффективно удаляет все, что было написано ранее, затем записывает его содержимое. Вот почему вы видите только последний токен в файле.

Используйте перегрузку с аргументом «добавить» и передайте true, чтобы существующий файл не был удален.

+0

Это работало !!!!! Спасибо –

0

Вы должны проверить, существует ли файл, а не выполнять операцию «добавить» вместо «перезаписать».

// in DisplayTOKENS() 

string fileName = "C:\\Users\\saeed\\Documents\\Outputt.txt"; 
if (System.IO.File.Exists(fileName)) 
    System.IO.File.Delete(fileName); 

for (int i = 0; i < j; i++) 
{ 
    tok[i].Display_Token(fileName); 
} 


// in Display_Token(string fileName) 

System.IO.File.AppendAllText(fileName, "(" + this.Class_Part + " , " + this.Value_Part + " , " + this.Line_no + ")"); 

 Смежные вопросы

  • Нет связанных вопросов^_^