Чтение файла jp2 с помощью java и Jdeli

Я хочу прочитать файл jp2 на Java с помощью JDELi (https://files.idrsolutions.com/maven/site/jdeli/apidocs/com/idrsolutions/image/jpeg2000/Jpeg2000Decoder.html)

    try{
        File f = new File("C:\\Users\\user\\Desktop\\b1.jp2"); //image file path



        byte[] bytesArray = new byte[(int) f.length()];

        FileInputStream fis = new FileInputStream(f);
        fis.read(bytesArray); //read file into bytes[]
        fis.close();

        Jpeg2000Decoder decoder = new Jpeg2000Decoder();
        BufferedImage decodedImage = decoder.read(bytesArray);
        ImageIO.write(decodedImage, "png", new FileImageOutputStream(new File("C:\\Users\\user\\Desktop\\test.png")));
    }catch(Exception e){
        System.out.println("Error: "+e);
    }

я получаю исключение нулевого указателя в этой строке здесь: decoder.read (bytesArray);

вот файл, который я пытаюсь загрузить: http://www.share-online.biz/dl/HB52UPBP8ZO

и вот ошибка:

Exception in thread "main" java.lang.NullPointerException
at com.idrsolutions.image.jpeg2000.TileParser.parseTile(TileParser.java:119)
at com.idrsolutions.image.jpeg2000.Jpeg2000Decoder.readCodeStream(Jpeg2000Decoder.java:445)
at com.idrsolutions.image.jpeg2000.Jpeg2000Decoder.decodeContiguousCodeStreamBoxes(Jpeg2000Decoder.java:297)
at com.idrsolutions.image.jpeg2000.Jpeg2000Decoder.read(Jpeg2000Decoder.java:61)
at test.testimagereader.main(testimagereader.java:36)

у кого-то есть идея?

Благодарность

Не могли бы вы вставить все сообщение об исключении и трассировку стека?

Filip Malczak 11.07.2018 20:36

Добро пожаловать в Stack Overflow. Пожалуйста, возьмите тур и посмотрите Как спросить. Затем предоставьте нам минимальный воспроизводимый пример, который может воспроизвести полученную вами ошибку.

Rodrigo Rodrigues 11.07.2018 20:44

старайтесь не закрывать FileInputStream сразу, т.е. до завершения обработки.

ISlimani 11.07.2018 21:27

не закрытие потока не помогло. То же исключение все еще идет

Manuel Winkelhofer 12.07.2018 18:39

Есть ли у вас новости о вашей проблеме? Почему вы не используете JAI (Java Advanced Imaging)?

HauLuk 21.12.2018 10:08
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
5
235
0

Другие вопросы по теме