Форум программистов, компьютерный форум 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.graphics.Canvas; import android.graphics.Color; import android.util.Log;
Программирование Android Создание эмулятора Android Доброго времени суток. Когда создаю эмулятор в Android Virtual Device Manage и запускаю его, выскакивает окно Starting Android Emulator. Внизу написано: Starting emulator for AVD '5.1_WVGA_480x800_mdpi_4.4.2' PANIC: Could not open: 5.1_WVGA_480x800_mdpi_4.4.2 Здесь 5.1_WVGA_480x800_mdpi_4.4.2 - название устройства. При этом ничего не происходит, эмулятор не запускается. Помогите, плиз.... подробнее

Показать сообщение отдельно
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 422
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() - пользовательская ф-я проверки существования файла
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru