С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Android Studio и logcat http://www.cyberforum.ru/android-dev/thread1642482.html
Добрый день! После завершения программы в logcat продолжает сыпаться сообщения: I/SurfaceFlinger: surface flinger stars handleComposing3DStateSetting enter. Кнопка "Terminate Application" не активна....
Программирование Android Боковое меню как в контактах Добрый день. Может быть кто-нибудь подскажет библиотеку, чтобы можно было сделать боковое меню как в контактах телефона для быстрого поиска по имени от А до Я. Во вложенном файле пример. Заранее,... http://www.cyberforum.ru/android-dev/thread1642285.html
Программирование Android Как открыть FBreader Android Studio
Д,Д,! При открытие исходника выходить ошибки ...
Android.system.ErrnoException Программирование Android
Добрый вечер. Столкнулся с интересным предупреждением при работе с базой данных: Failed to chmod(/data/data/com.example.project/databases/db.db): android.system.ErrnoException: chmod failed: EPERM...
Программирование Android Expansion Files http://www.cyberforum.ru/android-dev/thread1641892.html
Добрый вечер! Мое приложение перевалило в объеме за 100мб. Возникла необходимость использовать файлы расширения. Опыта работы по разделению apk на obb у меня нет. Думаю выделить содержимое папок...
Программирование Android Динамическое создание таблиц SQLite Пишу приложение, которому нужно нестатичное кол-во таблиц SQL. И возник вопрос, как это сделать, если возможно. Пожалуйста, знающие, помогите) подробнее

Показать сообщение отдельно
xbarmaglot
3 / 3 / 0
Регистрация: 06.10.2012
Сообщений: 248

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

19.01.2016, 16:13. Просмотров 206. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.