0

我有一个客户想要一个文本文件,其中所有文本都在一行上。就像 EDI 文件一样。

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

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

4

4 回答 4

1

您可以使用(不会添加新行)以及每个客户之间的分隔符(空格、制表符等),而不是使用WriteLine来编写每个客户。WriteWrite

于 2013-08-14T17:37:55.210 回答
0

谢谢大家的回答。但是,我选择了以下内容。writeline 有一个默认的回车换行符,像这样。\r\n

我将 Newline 属性调整为像这样的空白字符串 sw.NewLine = "";。

sw 是我的主播。这正是我想要的。它不是添加新行,而是创建一个非常长的行。

于 2013-08-15T18:57:05.877 回答
0

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

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

或者让它全部成为一条线;

File.WriteAllText(String.Join(MyDelimiter, myStringArray));
于 2013-08-14T17:39:04.090 回答
0

如果您已经打开了文件,您可以使用您的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);  
}

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

于 2013-08-14T17:44:23.190 回答