2013-08-14 1 views
0

У меня есть клиент, которому нужен текстовый файл со всем текстом в одной строке. Как и в файле EDI.Нужно написать много записей клиентов в одну строку в текстовом файле

У меня есть данные, содержащие тысячи клиентов и информацию о клиентах. Мой метод проходит через данные, захватывает информацию о клиенте и записывает их в текстовый файл. Каждая строка текстового файла содержит информацию для одного клиента. Есть тысячи клиентов, что означает тысячи строк в текстовом файле.

Я не знаю, как разместить всех клиентов на одной строке в текстовом файле. Если у кого-то есть предложения, я был бы признателен.

+0

Пожалуйста, покажите свой текущий, соответствующий код. – CodeCaster

ответ

1

Вместо того, чтобы писать каждому клиенту, вы можете использовать Write (который не будет добавлять новую строку), а также Write между разделителями (пробел, табуляция и т. Д.).

0

Скажем, у меня есть ряд строк (string[]) со всеми именами, это действительно может быть любая коллекция, реализующая IEnumerable<T>, просто сделайте;

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

Или сделать все подряд;

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

Если вы уже открыли файл, вы можете добавить больше клиентов с StreamWriterWrite методом, вместо классического 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); 
} 

Вам также понадобится добавить разделитель вручную, если он вам нужен.

0

Спасибо всем за ваши ответы. Однако я пошел со следующим. В строке писем есть строки с символами обратной линии возврата по умолчанию. \ r \ n

Я скорректировал свойство Newline на пустую строку, такую ​​как sw.NewLine = "";.

sw мой обозреватель. Это делает именно то, что я хотел. Вместо добавления новых строк он просто создает одну очень длинную строку.

+0

Это очень плохо, если вы спросите меня. Почему вы не используете Write вместо WriteLin? – CSharpie

Смежные вопросы