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

Как получить список файлов в архиве и извлечь только нужные - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Блокировка входящих/исходящих вызовов http://www.cyberforum.ru/android-dev/thread1088010.html
Не знал точно в какой раздел написать данную тему,поэтому решил написать здесь. В общем есть телефон на базе android,а именно huawei u8180(мегафон),хотя мне кажется что это не столь важно.Мне нужно...
Программирование Android Структура приложения Подскажите, поделитесь опытом. Как правильно начать писать приложение, как предварительно определить структуру будущего приложения, чтобы в ходе написания было меньше переделок? Я предполагаю так:... http://www.cyberforum.ru/android-dev/thread1087996.html
Программирование Android MediaPlayer, как программно задать определенный файл на воспроизведение?
собственно как работать с данным классом, и как программно задать определенный файл на воспроизведение? спасибо!
Программирование Android Создать значок в верхней части экрана
Есть область выше запущенного окна приложения. На ней выводится значок будильника, батареи и пр. Не знаю даже как называется. Может системная панель? Заметил, что некоторые программы могут там...
Программирование Android Работа с FrameLayout http://www.cyberforum.ru/android-dev/thread1087940.html
Почему первая картинка не перекрывает вторую? package com.shcherban.box_box; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import...
Программирование Android Создание эмулятора Android Доброго времени суток. Когда создаю эмулятор в Android Virtual Device Manage и запускаю его, выскакивает окно Starting Android Emulator. Внизу написано: Starting emulator for AVD... подробнее

Показать сообщение отдельно
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 426
03.02.2014, 10:43
Теперь наверное я бы немного грамотнее придумал, но я делал так:
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
53
54
55
    public static boolean decompressFromZip(String Dir, String ZipFile_ShortName, ArrayList<String> extractFiles) {
 
        final int BUFFER = 512;
        final int TOOBIG = 0x6400000; // max size of unzipped data, 100MB
        final int TOOMANY = 1024; // max number of files
 
        final String ZipFile_LongName = Dir + "/" + ZipFile_ShortName;
 
        if (getFile(Dir, ZipFile_ShortName) == null)
            return false;
 
        try {
            FileInputStream fis = new FileInputStream(ZipFile_LongName);
            ZipInputStream zis = new ZipInputStream(new BufferedInputStream(fis));
            ZipEntry entry;
            int entries = 0;
            int total = 0;
            try {
                while ((entry = zis.getNextEntry()) != null) {
 
                    if (extractFiles != null && !extractFiles.contains(entry.getName())) {
                        continue;
                    }
 
                    int count;
                    byte data[] = new byte[BUFFER];
 
                    String name = Utils.validateFilename(entry.getName(), ".");
                    FileOutputStream fos = new FileOutputStream(Dir + "/" + name);
 
                    BufferedOutputStream dest = new BufferedOutputStream(fos, BUFFER);
                    while (total <= TOOBIG && (count = zis.read(data, 0, BUFFER)) != -1) {
                        dest.write(data, 0, count);
                        total += count;
                    }
                    dest.flush();
                    dest.close();
                    zis.closeEntry();
                    entries++;
                    if (entries > TOOMANY) {
                        throw new IllegalStateException("Too many files to unzip.");
                    }
                    if (total > TOOBIG) {
                        throw new IllegalStateException("File being unzipped is too big.");
                    }
                }
            } finally {
                zis.close();
            }
 
        } catch (Exception e) {
        }
 
        return true;
    }
Параметры:
1 - путь к архиву без имени файла
2 - имя файла архива
3 - список файлов для распаковки

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