需要将许多客户记录写入文本文件中的一行



我有一个客户端,它想要一个将所有文本都放在一行上的文本文件。就像EDI文件一样。

我有一个数据表,里面有成千上万的客户和客户信息。我的方法在数据表中循环,获取客户信息并将其写入文本文件。文本文件中的每一行都有一个客户的信息。有成千上万的客户,这意味着文本文件中有数千行。

我不知道如何将所有客户放在文本文件中的一行。如果有人有什么建议,我将不胜感激。

您可以使用Write(不会添加新行),也可以在每个客户之间使用Write一些分隔符(空格、制表符等),而不是使用WriteLine来写入每个客户。

假设我有一个包含所有名称的字符串数组(string[]),它实际上可以是任何实现IEnumerable<T>的集合;

 string OneBigLine = String.Join(MyDelimiter, myStringArray);
 File.WriteAllText(OneBigLine);

或者把它全部做成一行;

File.WriteAllText(String.Join(MyDelimiter, myStringArray));

如果您已经打开了文件,您可以使用StreamWriter Write方法而不是经典的WriteLine方法追加更多客户。

using (StreamWriter sw = new StreamWriter("file.txt"))
{
    foreach (Customer customer in customers)
    {
        sw.Write(customer.Name);
    }    
}

如果你每次都需要打开文件,你可以使用StreamWriter的重载来附加新的文本,而不是覆盖它

using (StreamWriter sw = new StreamWriter("file.txt", true))
{
    sw.Write(customer.Name);  
}

如果需要,还需要手动添加分隔符。

感谢大家的回答。然而,我选择了以下内容。写入行有一个默认的回车换行符,如下所示。\\r\n

我将Newline属性调整为一个空白字符串,如sw。NewLine=";。

sw是我的流媒体作家。这正是我想要的。它不添加新行,而是创建一个非常长的行。

相关内容

  • 没有找到相关文章

最新更新