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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Android Studio и logcat http://www.cyberforum.ru/android-dev/thread1642482.html
Добрый день! После завершения программы в logcat продолжает сыпаться сообщения: I/SurfaceFlinger: surface flinger stars handleComposing3DStateSetting enter. Кнопка "Terminate Application" не активна. Вопрос: откуда сыпятся эти сообщения и что они означают? Заранее благодарен. PS. Android Studio обновлял.
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 (Operation not permitted) Что это значит? Самое странное, что никаких проблем пока при работе с базой не было обнаружено. Данное предупреждение возникло после успешной вставки данных в таблицу...
Android Expansion Files http://www.cyberforum.ru/android-dev/thread1641892.html
Добрый вечер! Мое приложение перевалило в объеме за 100мб. Возникла необходимость использовать файлы расширения. Опыта работы по разделению apk на obb у меня нет. Думаю выделить содержимое папок raw в отдельный пакет(используется 4 папки с контентом для различных языков). Подскажите пожалуйста, как правильно разделить apk. Насколько я понял, необходимо начать с создать zip архива и...
Android Динамическое создание таблиц SQLite Пишу приложение, которому нужно нестатичное кол-во таблиц SQL. И возник вопрос, как это сделать, если возможно. Пожалуйста, знающие, помогите) подробнее

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

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

19.01.2016, 16:13. Просмотров 175. Ответов 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();
    }     
}
Но большие архивы не отправляются по почте.
Можно попробовать разбить архив на части, но есть вероятность, что один из частей не отправится.
Можно ли как архивировать папку независимыми архивами, ограниченными по размеру?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru