У меня есть один ArrayList, хранящий местоположение нескольких файлов PDF в каталоге. Как прочитать содержимое PDF в виде массива байтов и сжать его - PullRequest
0 голосов
/ 03 мая 2018

ArrayList выглядит так - [Рабочий стол / папка / abc.pdf, Рабочий стол / папка / xyz.pdf]

Я делаю что-то вроде этого

public byte[] compressByteArray(byte[] bytes){

        ByteArrayOutputStream baos = null;
        Deflater dfl = new Deflater();
        dfl.setLevel(Deflater.BEST_COMPRESSION);
        dfl.setInput(bytes);
        dfl.finish();
        baos = new ByteArrayOutputStream();
        byte[] tmp = new byte[4*1024];
        try{
            while(!dfl.finished()){
                int size = dfl.deflate(tmp);
                baos.write(tmp, 0, size);
            }
        } catch (Exception ex){

        } finally {
            try{
                if(baos != null) baos.close();
            } catch(Exception ex){}
        }

        return baos.toByteArray();
    }
...