Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
xbarmaglot
3 / 3 / 0
Регистрация: 06.10.2012
Сообщений: 248
#1

Архивация больших данных - Программирование Android

19.01.2016, 16:13. Просмотров 179. Ответов 0
Метки нет (Все метки)

Есть класс для архивации папки и ее содержимого

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
 
final public class ZipUtils
{
    private static final void zip(File directory, File base, ZipOutputStream zos) throws IOException
    {
        byte[] buffer = new byte[1000 * 1024];      
        File[] files = directory.listFiles();
        
        for (File file : files)
        {
            if (file.isFile())
            {
                int index = base.getPath().length() + 1;
                FileInputStream in = new FileInputStream(file);         
                ZipEntry entry = new ZipEntry(file.getPath().substring(index));
                zos.putNextEntry(entry);
 
                int length = 0;             
                while ((length = in.read(buffer)) > 0)
                {
                    zos.write(buffer, 0, length);
                }
                in.close();
                continue;
            }
            zip(file, base, zos);
        }
    }
    
    public static final void zipFiles( File directory, File zip ) throws IOException
    {
        ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zip));
        zip(directory, directory, zos);
        zos.close();
    }   
    
    public static final void zipFolder( File directory, File zip ) throws IOException
    {
        String path = directory.getPath();
        int index = path.lastIndexOf(File.separator);
        ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zip));
        String root = path.substring(0, index);
        zip(directory, new File(root), zos);
        zos.close();
    }     
}
Но большие архивы не отправляются по почте.
Можно попробовать разбить архив на части, но есть вероятность, что один из частей не отправится.
Можно ли как архивировать папку независимыми архивами, ограниченными по размеру?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2016, 16:13     Архивация больших данных
Посмотрите здесь:

Как можно ускорить рендер больших текстур? - Программирование Android
Задался вопросом: Имеются две текстуры 1024х1024. Они подаются на вход фрагментному шейдеру, шейдер с ними что то делает (в моем случае...

Архивация данных - Delphi БД
Есть БД в которой уже больше 100 записей, есть программа работы с этой БД. Надо написать модуль с помощь которого можно архивировать...

архивация данных - PHP
можно ли как то сжать данные? к примеру есть данные типа (id:11|data:34|user:3,4,5....) и они содержатся в текстовом документе, при...

Архивация данных - Windows Server
Доброе утро. Подскажите пожалуйста имеется ли у стандартной утилиты архивации данных в windows server 2003 при ошибках какие-нибудь...

Архивация данных БД (Firebird) - Delphi БД
Посоветуйте пожалуйста, нужно сделать архивацию данных бд(firebird) в приложении Делфи, чтобы при необходимости сам пользователь смог...

Неудачная архивация данных - Windows 7
После неудачной архивации, на диске d сохранился архив, я думал что это неполная копия для восстановления и удалил её. После этого...

Архивация и экспорт данных - АСУ ТП
Доброго времени суток всем.Я не знал в какую тему мне стоит поместить мой вопрос, по-этому, помещу сюда. Вот моя проблема,даже скорее...

Архивация базы данных - MySQL
Есть таблица, в которой уже сотни тысяч строк. И она ежедневно пополняется на несколько сотен строчек. И сервер при выполнении скрипта,...

Шифрование и архивация данных - C++
Прошу помощи в написании программы на С++ шифрование и архивация данных

Архивация данных, резервное копирование БД - C++ Builder БД
Здравствуйте, у меня есть проект в билдере, подвязанный к access,и все данные из access отображаются в билдере (в edit) возможно ли сделать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru