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

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

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

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

19.01.2016, 16:13. Просмотров 190. Ответов 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();
    }     
}
Но большие архивы не отправляются по почте.
Можно попробовать разбить архив на части, но есть вероятность, что один из частей не отправится.
Можно ли как архивировать папку независимыми архивами, ограниченными по размеру?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2016, 16:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Архивация больших данных (Программирование Android):

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

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

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

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

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

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

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2016, 16:13
Привет! Вот еще темы с ответами:

Архивация баз данных - MS Access
Здравствуйте! Увидел пример бэкапа БД от Rube в разделе "Делимся наработками" Backup баз данных Прошу подсказать, как переделать...

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

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

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


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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