Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > И снова архивацыя)))


Автор: Flenger 6.11.2008, 19:31
Как сделать так что бы архив мог бится на части... тоесть что бы можно было задать размер одной части архива... а при розархивацыи все части сливались.... ну эта фича кажись реализована во всех архиваторах....

использую SharpZipLib класс ZipFile

Код

            string file = "C:\\temp\\5.mp3";
            string path = "C:\\temp\\archive.zip";
            ZipFile zFile = ZipFile.Create(path);
           
            zFile.BeginUpdate();
            zFile.Add(file);
            zFile.CommitUpdate();                        
            zFile.Close();



может кто то знает если какое свойство, что бы задать размер одной части ????

Автор: Bogdan1024 6.11.2008, 19:44
Не знаю шо там в SharpZipLib, но если бы ты использовал то, что предлагает для архивации .NET, то можно было бы так:
создал FileStream
записал сколько нужно байт
закрыл FileStream
открыл новый FileStream
дописал сколько нужно байт
и т.д.

Автор: Flenger 6.11.2008, 20:03
Bogdan1024  ты пробовал так.... SharpZipLib будет покруче GZip. всё то шо ты описал я реализовать могу а вот привязка как будет реализована ????? как ты один архив запустишь и он розархивирует кусок файла а потом автоматически вызовет другую часть архива и склеет полученный файл ??????

Автор: Bogdan1024 6.11.2008, 20:16
Код

class ЗаархивированныйФайл
{
public КакаяНибудьИнфа ВсякаяИнфа;//храни здесь шо хош. Номер тома, например.
public byte[] data;//вот тут хранится сама инфа.
}


Добавлено через 47 секунд
А у тебя большой объём данных?

Добавлено через 1 минуту и 14 секунд
В общем случае: пишешь в файл сначала шо хочешь, а потом сами данные. Считываешь в том же порядке.

Добавлено через 1 минуту и 55 секунд
Не, я так не пробовал, но в теории всё верно smile

Автор: Flenger 6.11.2008, 20:24
Bogdan1024  ты просто предлагаешь написать свой метод по склейке, розрезанию и всё такое...

Зачем мне это ???? это ваще не выгодно, причём мне прийдётся самому реализовать FileOpenDialog когда какой то части архива небудет в директории и должно будет вызватся окно типа "блин укажите где находится 2 том".... Зачяем мне всё это реализовывать... понятно шо я это могу сделать, но это ж велосипед....

Я думаю что стандартные средства для это го должны быть....

Автор: Bogdan1024 6.11.2008, 20:30
Стандартные средства SharpZipLib ?  smile 
Или фрэймворка?
Цитата(Flenger @  6.11.2008,  19:24 Найти цитируемый пост)
Зачяем мне всё это реализовывать... понятно шо я это могу сделать, но это ж велосипед....

Я это вижу всё совсем не так. Ну как хо smile

Автор: Flenger 6.11.2008, 20:36
Стандартные средства я понимаю болие глобально, это средства которые просто напросто реализированы в какой то там библиотеки или ещё чё нить....

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

если можешь сорцы в студию....

Автор: Bogdan1024 6.11.2008, 22:37
Та всё можно, просто мне влом описывать чисто для того чтобы поспорить.
Успехов в поисках Стандартного компонента, который разбивает архивы SharpZipLib на куски.

Автор: mr.DUDA 7.11.2008, 02:35
Есть ещё http://xceed.com/ тулза, но она платная.

Автор: Juice 11.12.2008, 02:30
А чем же изобретенный велосипед "rar.exe" не устраивает?

Автор: Saygak 11.12.2008, 17:12
Flenger вопрос не в тему, но как использовать SharpZipLib для распаковки файла?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)