Я работал с
javax.imageio.ImageIO class
Класс, предоставленный Sun, не поддерживает чтение файлов .tif.Поэтому, если я пытаюсь прочитать файл .tif, он просто возвращает ноль.Затем я скачал этот API с веб-сайта оракула и включил его в classpath.Этот API использует jni, как было видно из файла .so в этой папке.После этого мне не пришлось ничего менять в моем коде, и это работало.Как такое могло произойти?Разве имена классов не конфликтовали бы?
В API, которое я скачал, было 3 вещи:
- clibwrapper_jiio.jar
- jai_imageio.jar
- libclib_jiio.so
Мне не нужно было делать никакого дополнительного импорта.Фактически, функциональность, предоставляемая классом ImageIO, была расширена
Мне действительно любопытно, как это работает.
Вот класс в пакете javax.imageio.Класс был объявлен как окончательный.И это делает некоторые странные сложные вещи, которые я не могу понять.Может кто-нибудь объяснить, как добиться этого эффекта на более простом примере.
http://docs.oracle.com/javase/7/docs/api/javax/imageio/ImageIO.html