#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:
- Открыть файл результата
- Для каждого файла для объединения:
- Закрыть результирующий файл
- ???
- Прибыль!