объединение больших текстовых файлов

#c# #file

#c# #файл

Вопрос:

У меня есть ~ 200 текстовых файлов по 1000 000 строк текста в каждом файле (~ 70 мб / файл, всего 14 ГБ)

Я ищу эффективный способ объединить все эти файлы в один файл (не спрашивайте меня, почему: P)

У кого-нибудь есть какие-либо предложения, как это сделать за разумное время (c #)

Заранее спасибо

Комментарии:

1. Как они должны быть объединены? просто добавить одно к другому?

2. Как вы думаете, почему файл размером 14 ГБ лучше, чем 200 файлов меньшего размера?

3. @BugFiner да, @Andrey Это не так, но я должен это сделать

Ответ №1:

Для этого вам не нужен C #. Просто используйте командную оболочку:

 for %f in (*.txt) do type %f >> merged.txt
  

Я предполагаю, конечно, что это одноразовая операция.

Комментарии:

1. @rhooligan Хороший момент. Я не знаком с copy /a и склонен часто полагаться на for .

2. Спасибо, но я должен написать программу, чтобы это сделать, поскольку это не для меня : (

3. Будет ли добавление этих файлов выполняться несколько раз?

4. Возможно, вы могли бы улучшить этот вопрос в интересах других. У вас лично на самом деле нет 200 файлов, которые вы хотите объединить. Они есть у всех ваших пользователей. По крайней мере, я думаю, что вы это имеете в виду, но я немного сбит с толку. Знаете ли вы, что вы могли бы поместить приведенную выше команду или команду рулигана в файл .bat и предоставить ее своим клиентам?

5. @File поместите команду в файл с расширением .bat , а затем просто дважды щелкните по нему. Сохраните файл .bat в каталоге с текстовыми файлами. Наконец, если местоположение файлов неизвестно, то это проблема для вас, независимо от того, как вы решаете проблему.

Ответ №2:

Если вы используете Windows, вы могли бы сделать что-то подобное из командной строки

 copy /a *.txt newfile.txt 
  

Комментарии:

1. тот же подход работает для двоичных файлов, просто используйте переключатель /b.

Ответ №3: