junrar не распакавывает файлы

266
07 октября 2017, 18:38

Есть архив с 14 картинками, для распаковки использую:

    String filename = "C:/Новая папка (3).rar";
    File f = new File(filename);
    Archive a = null;
    try {
        a = new Archive(new FileVolumeManager(f));
    } catch (RarException | IOException e) {
        e.printStackTrace();
    }
    if (a != null) {
        a.getMainHeader().print();
        FileHeader fh = a.nextFileHeader();
        if (!fh.isDirectory()){
            String value = fh.getFileNameW().trim();
            while (fh != null) {
                try {
                    File out = new File("C:/unrar/" + value);
                    File parent = out.getParentFile();
                    if (!parent.exists() && !parent.mkdirs()) {
                        throw new IllegalStateException("Couldn't create dir: " + parent);
                    }
                    System.out.println(out.getAbsolutePath());
                    FileOutputStream os = new FileOutputStream(out);
                    a.extractFile(fh, os);
                    os.close();
                } catch (RarException | IOException e) {
                    e.printStackTrace();
                }
                fh = a.nextFileHeader();
            }
        }
    }

Результат

    15:40:14.510 [main] INFO  com.github.junrar.rarfile.BaseBlock - 
    HeaderType: MainHeader
    HeadCRC: ffff90cf
    Flags: 0
    HeaderSize: 13
    Position in file: 7
    15:40:14.510 [main] INFO  com.github.junrar.rarfile.MainHeader - posav: 0
    highposav: 0
    hasencversion: false
    hasarchcmt: false
    isEncrypted: false
    isMultivolume: false
    isFirstvolume: false
    isSolid: false
    isLocked: false
    isProtected: false
    isAV: false
    C:\unrar\Новая папка (3)\Снимок1.PNG
    C:\unrar\Новая папка (3)\Снимок1.PNG
    C:\unrar\Новая папка (3)\Снимок1.PNG
    C:\unrar\Новая папка (3)\Снимок1.PNG
    C:\unrar\Новая папка (3)\Снимок1.PNG
    C:\unrar\Новая папка (3)\Снимок1.PNG
    C:\unrar\Новая папка (3)\Снимок1.PNG
    C:\unrar\Новая папка (3)\Снимок1.PNG
    C:\unrar\Новая папка (3)\Снимок1.PNG
    C:\unrar\Новая папка (3)\Снимок1.PNG
    C:\unrar\Новая папка (3)\Снимок1.PNG
    C:\unrar\Новая папка (3)\Снимок1.PNG
    C:\unrar\Новая папка (3)\Снимок1.PNG
    C:\unrar\Новая папка (3)\Снимок1.PNG
    C:\unrar\Новая папка (3)\Снимок1.PNG

Он проходит 14 раз по первой картинке которая в итоге пустая (0 кб).

READ ALSO
Аналог scanf в Java

Аналог scanf в Java

Добрый день, есть ли аналог метода scanf из C++ на Java? Он мне нужен для того, чтобы парсить строку чисел, сразу инициализируя созданные переменные,...

262
Java Двоичный поиск

Java Двоичный поиск

Задание: Создать массив случайных чисел, отсортировать его по убыванию, а затем провести двоичный поиск числа в данном массивеЧисло вводит...

335
Убрать горизонтальный scroll в tree primefaces

Убрать горизонтальный scroll в tree primefaces

Не получается убрать горизонтальный скрол

213
Функция Лапласа в C# [требует правки]

Функция Лапласа в C# [требует правки]

Помогите, очень нужна функция Лапласа - она же функция ошибок, она же erf()

387