如何在文本文件中添加标头

ven*_*kat 1 c# vb6

如何在文本文件中添加/附加现有数据的文本开头.基本上我需要在文本文件中提供此数据之前的标题.此标头是动态数据.请注意,此数据来自外部源或SQL包或来自某个地方.因此,在文本文件中获取数据之后,我想在文本文件的现有条目/数据中提供以逗号分隔的标题文本.

我在文本文件中对数据进行采样,如下所示:

123,"SAV","CBS123",2010-10-10 00:00:00
456,"CUR","CBS456",2012-02-01 00:00:00
Run Code Online (Sandbox Code Playgroud)

要添加的标题文本:

HDR<TableName><DateTime>
Run Code Online (Sandbox Code Playgroud)

输出我需要如下:TableName:Account DateTime:2012-05-09 12:52:00

HDRAccount2012-05-09 12:52:00
123,"SAV","CBS123",2010-10-10 00:00:00
456,"CUR","CBS456",2012-02-01 00:00:00
Run Code Online (Sandbox Code Playgroud)

请帮助我如何在VB6.0,C#.NET两种语言中获得相同的功能

yam*_*men 9

请注意,您无法在技术上"插入"文件并让所有内容"移位".你能做的最好就是读取文件并用新行重写.这是有效实现这一目标的一种方法:

static void InsertHeader(string filename, string header)
{
    var tempfile = Path.GetTempFileName();
    using (var writer = new StreamWriter(tempfile))
    using (var reader = new StreamReader(filename))
    {
        writer.WriteLine(header);
        while (!reader.EndOfStream)
            writer.WriteLine(reader.ReadLine());
    }
    File.Copy(tempfile, filename, true);
    File.Delete(tempfile);
}
Run Code Online (Sandbox Code Playgroud)

这个想法的答案的肯定,但改进得足以让它值得单独发布.

现在,如果您想要接受表名和日期时间的东西,只需将其添加为第二个函数:

static void InsertTableHeader(string filename, string tableName, DateTime dateTime)
{
    InsertHeader(filename, 
                 String.Format("HDR{0}{1:yyyy-MM-dd HH:MM:ss}", 
                 tableName, 
                 dateTime));
}
Run Code Online (Sandbox Code Playgroud)

所以只InsertHeader(filename, "Account", DateTime.Now)需要打电话或类似.