Как разделить большой файл на более мелкие (более удобный для FTP) и объединить их позже? - PullRequest
3 голосов
/ 02 ноября 2009

Мой сервер не позволяет загружать / скачивать большие файлы. С другой стороны, я создал загрузчик, который должен загружать / скачивать большие файлы. Как я могу разбить большой файл на меньшие подфайлы ... и выполнить объединение позже? Уже готовая библиотека c # была бы отличной ... но я рад услышать предложения о том, как программировать это сам ... или даже использовать утилиту.

** Платформа Windows **

Ответы [ 5 ]

3 голосов
/ 02 ноября 2009

В Unix вы можете использовать команду split для разделения файла, а затем использовать cat для объединения их вместе.

split -b 1024M bigfile.tar.gz bigfile

Это создаст кучу файлов, таких как bigfileaa bigfileab и т. Д. Итак, пройдите все маленькие зверюшки по назначению и сделайте кота:

cat bigfile* > bigfile.tar.gz

В Windows у вас может быть опция в вашем Zip-приложении, чтобы разбить архив и снова объединить его на другом конце. На самом деле поиск по поисковым запросам: zip split включает несколько таких вариантов.

2 голосов
/ 02 ноября 2009

У каждой zip-программы, которую я когда-либо использовал, есть эта способность.

7zip мой любимый на данный момент Windows. Он также имеет хорошую версию командной строки.

2 голосов
/ 02 ноября 2009

В Windows вы можете легко разделить его с помощью WinRar.

Или вы делаете это «своей собственной рукой»:

1) 1

2) 2

0 голосов
/ 02 ноября 2009

Или вы можете написать небольшое приложение, чтобы удовлетворить ваши потребности ... Просто байты читают, а затем пишут .... Таким образом, он может легко разбить большой файл на маленькие

0 голосов
/ 02 ноября 2009

Вы можете создать программу split и join с несколькими строками в каждой. Просто прочитайте некоторое фиксированное количество (512 КБ, 4 МБ, что угодно) из файла и запишите его в новый файл. Повторите это (и измените имя файла, в который вы пишете), пока не дойдете до конца файла.

Другая программа должна прочитать из этих файлов и записать их содержимое (одно за другим) в целевой файл.

Довольно просто, на самом деле, и если вы хотите получить некоторый опыт программирования, это было бы хорошим упражнением.

...