我有一个客户想要一个文本文件,其中所有文本都在一行上。就像 EDI 文件一样。
我有一个包含数千个客户和客户信息的数据表。我的方法循环遍历数据表,获取客户信息并将其写入文本文件。文本文件中的每一行都有一个客户的信息。有成千上万的客户,这意味着文本文件中有数千行。
我不知道如何将所有客户放在文本文件的一行中。如果有人有一些建议,我将不胜感激。
我有一个客户想要一个文本文件,其中所有文本都在一行上。就像 EDI 文件一样。
我有一个包含数千个客户和客户信息的数据表。我的方法循环遍历数据表,获取客户信息并将其写入文本文件。文本文件中的每一行都有一个客户的信息。有成千上万的客户,这意味着文本文件中有数千行。
我不知道如何将所有客户放在文本文件的一行中。如果有人有一些建议,我将不胜感激。
您可以使用(不会添加新行)以及每个客户之间的分隔符(空格、制表符等),而不是使用WriteLine
来编写每个客户。Write
Write
谢谢大家的回答。但是,我选择了以下内容。writeline 有一个默认的回车换行符,像这样。\r\n
我将 Newline 属性调整为像这样的空白字符串 sw.NewLine = "";。
sw 是我的主播。这正是我想要的。它不是添加新行,而是创建一个非常长的行。
假设我有一些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);
}
如果需要,您还需要手动添加分隔符。