Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在文本文件中前置标题_C#_Vb6 - Fatal编程技术网

C# 如何在文本文件中前置标题

C# 如何在文本文件中前置标题,c#,vb6,C#,Vb6,如何在文本文件中预加/追加现有数据的文本开头。 基本上,我需要在文本文件中的数据之前提供一个标题。此标题是动态数据。请注意,此数据来自外部源、SQL包或其他地方。因此,在获取文本文件中的数据之后,我想提供一个标题文本,在文本文件的现有条目/数据中用逗号分隔 我在文本文件中提供了如下示例数据: 哥伦比亚广播公司萨瓦州123号2010-10-10 00:00:00 美国哥伦比亚广播公司,哥伦比亚时间4562012-02-01 00:00:00 要前置的标题文本: HDR 我需要的输出如下: 表名:账

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

我在文本文件中提供了如下示例数据:

哥伦比亚广播公司萨瓦州123号2010-10-10 00:00:00 美国哥伦比亚广播公司,哥伦比亚时间4562012-02-01 00:00:00 要前置的标题文本:

HDR 我需要的输出如下: 表名:账户 日期时间:2012-05-09 12:52:00

HDRAccount2012-05-09 12:52:00 哥伦比亚广播公司萨瓦州123号2010-10-10 00:00:00 美国哥伦比亚广播公司,哥伦比亚时间4562012-02-01 00:00:00
请帮助我如何在两种语言VB6.0、C.NET中获得相同的内容。请注意,从技术上讲,您不能将所有内容“插入”到文件中,而将所有内容“下移”。您所能做的最好的事情就是读取文件并用新行重写它。这里有一种有效的方法:

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);
}
该想法的成功归功于,但改进程度足以使其值得单独发布

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

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

因此,只需调用InsertHeaderfilename、Account、DateTime.Now或类似的函数即可。

请注意,从技术上讲,您不能将所有内容“插入”到文件中并将其“移位”。您所能做的最好的事情就是读取文件并用新行重写它。这里有一种有效的方法:

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);
}
该想法的成功归功于,但改进程度足以使其值得单独发布

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

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

因此,只需调用InsertHeaderfilename、Account、DateTime.Now或类似的函数即可。

您可以按照与第一次应答相反的顺序执行此操作,即先在文本文件中写入标题,然后在追加模式下打开该文本文件,然后再在追加模式下打开数据。.要在追加模式下打开该文件,请使用以下代码行:

   FileStream aFile = new FileStream(filePath, FileMode.Append,
   FileAccess.Write);       
   StreamWriter sw = new StreamWriter(aFile);       
   sw.Write(text);        
   sw.Close();       
   aFile.Close();

您可以按照与第一次应答相反的顺序执行,即先在文本文件中写入标题,然后在追加模式下打开该文本文件,然后再写入数据。要在追加模式下打开文件,请使用以下代码行:

   FileStream aFile = new FileStream(filePath, FileMode.Append,
   FileAccess.Write);       
   StreamWriter sw = new StreamWriter(aFile);       
   sw.Write(text);        
   sw.Close();       
   aFile.Close();

用VB6翻译衙门的答案。航空代码!我还没有编译这个,更不用说运行了 它


用VB6翻译衙门的答案。航空代码!我还没有编译这个,更不用说运行了 它



请把你写的代码贴出来阅读文件。注意:嘿,我得到了我需要的结果。但是我也需要VB6.0的帮助。请尝试自己将提供的C代码转换为VB6,如果在转换过程中遇到困难,请提出一个新问题,请发布您迄今为止编写的代码以阅读该文件。注意:嘿,我得到了我需要的结果。但是我需要在VB6.0中也请在这门语言中提供帮助…试着自己将提供的C代码转换成VB6,如果你在转换过程中遇到了一些问题,请开始一个新的问题,其中一半的问题是关于如何“就地”完成这项工作,因此你需要一些临时文件处理和移动。我的回答和你的一样,概念上先写标题,然后写其余部分,但涵盖了问题的其余部分,并且不会无缘无故地打开一个文件两次。但在您的情况下,您需要显式删除临时文件。没有临时文件,您打算如何执行此操作?抱歉,我没有完全阅读问题。数据来自其他来源的文本文件。所以你是对的@yamen需要使用临时文件。很抱歉,问题的一半是如何“就地”完成这项工作,因此您需要一些临时文件处理和移动。我的回答和你的一样,概念上先写标题,然后写其余部分,但涵盖了问题的其余部分,并且不会无缘无故地打开一个文件两次。但在您的情况下,您需要显式删除临时文件。没有临时文件,您打算如何执行此操作?抱歉,我没有完全阅读问题。数据来自其他来源的文本文件。所以你是对的@yamen需要使用临时文件。这是我糟糕的笔记,不像其他人,我们不会把所有的东西都记在记忆里。这取决于你需要什么。注意,与其他人不同,我们不会把所有的东西都读入记忆。取决于你需要什么。我怎样才能在VB6.0中实现同样的效果?注意:嘿,我用你的代码得到了我需要的结果。但是我需要在VB6.0中也请在这门语言中提供帮助…我怎样才能在VB6.0中实现同样的效果?注意:嘿,我用你的代码得到了我需要的结果。但是我需要在VB6.0中也请用这种语言帮助我…这里有一些代码来查找临时文件夹。卡尔·彼得森来参加这个班。下面是一些查找临时文件夹的代码。卡尔·彼得森来参加这个班。