在文本文件中显示输出
Display Output in a text file
我已经通过文件获取了输入代码,我必须根据它生成数据并将它的结果也输出到一个文本文件中..
我的输出代码如下..
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();
} }
}
// 在其他名为 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 中工作时,它只是简单地显示文件中的最后一行。我想显示文件中的完整数组。等待一些积极的回应!!
StreamWriter 构造函数覆盖现有文件。因此,每个令牌都会有效地删除之前写入的内容,然后写入其内容。这就是为什么您只能在文件中看到最后一个标记的内容。
使用带有 "append" 参数的重载并传递 true 以便不删除现有文件。
您必须检查文件是否存在,然后执行 "append" 操作而不是 "overwrite"。
// 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 + " )");
我已经通过文件获取了输入代码,我必须根据它生成数据并将它的结果也输出到一个文本文件中.. 我的输出代码如下..
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();
} }
}
// 在其他名为 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 中工作时,它只是简单地显示文件中的最后一行。我想显示文件中的完整数组。等待一些积极的回应!!
StreamWriter 构造函数覆盖现有文件。因此,每个令牌都会有效地删除之前写入的内容,然后写入其内容。这就是为什么您只能在文件中看到最后一个标记的内容。
使用带有 "append" 参数的重载并传递 true 以便不删除现有文件。
您必须检查文件是否存在,然后执行 "append" 操作而不是 "overwrite"。
// 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 + " )");