欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JAVA?ImageIO.read方法報(bào)錯(cuò)/無效問題及解決

 更新時(shí)間:2023年11月18日 10:31:59   作者:Charlesix59  
這篇文章主要介紹了JAVA?ImageIO.read方法報(bào)錯(cuò)/無效問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

JAVA ImageIO.read方法報(bào)錯(cuò)/無效

最近開始學(xué)習(xí)JAVA,使用到j(luò)avax.imageio包里的read方法,不論我怎么寫,IDEA一直報(bào)錯(cuò)。

如圖

其實(shí)這個(gè)問題很容易解決,但是JAVA初學(xué)者往往不能理解——只需要用try/catch吧需要處理的代碼包圍就可以了。

		try {
            BufferedImage bi = ImageIO.read(file);
        } catch (IOException e) {
            e.printStackTrace();
        }

但是這樣bi就變成了一個(gè)局部變量,這樣我們就沒法使用了,那該怎么處理呢?

解決

其實(shí)這個(gè)問題的解決方法也很明了,但是JAVA初學(xué)者可能無法理解——只要把需要的語句都添加到try的語句塊里面就可以了

try {
            BufferedImage bi = ImageIO.read(file);
            int width= bi.getWidth();
            int height= bi.getHeight();
            int[][] data =new int[width][height];
            for (int i = 0; i < width; i++) {
                for (int j = 0; j < height; j++) {
                    data[i][j] = bi.getRGB(i, j);//得到的是sRGB值,4字節(jié)
                }
            }
            compressImg(width,height,data,6);
        } catch (IOException e) {
            e.printStackTrace();
        }

但是需要注意的一點(diǎn)是,read的file路徑是不能有中文的,java文件可能也不能放在含中文的路徑中。

否則的話會(huì)catch到如下錯(cuò)誤:

javax.imageio.IIOException: Can’t read input file!
at javax.imageio.ImageIO.read(Unknown Source)
at test.main(test.java:22)

如果你可以使用JAVA的一些文件方法來對(duì)文件進(jìn)行操作,但是不能使用ImageIO.read()的話,你就應(yīng)該查看自己的文件路徑是否含有中文或其他特殊字符了。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java合并兩個(gè)相同的List集合的四種方法解析

    Java合并兩個(gè)相同的List集合的四種方法解析

    這篇文章主要給大家介紹了關(guān)于Java合并兩個(gè)相同的List集合的四種方法,在Java編程中常需合并兩個(gè)List,常用addAll()方法,簡單高效,Java8起可用Stream的concat()方法,并發(fā)場景下,CopyOnWriteArrayList類保證線程安全,Collections.union()合并且去重,需要的朋友可以參考下
    2024-10-10
  • spring定時(shí)器@Scheduled異步調(diào)用方式

    spring定時(shí)器@Scheduled異步調(diào)用方式

    在Spring Boot中,@Schedule默認(rèn)使用單線程執(zhí)行定時(shí)任務(wù),多個(gè)定時(shí)器會(huì)按順序執(zhí)行,為實(shí)現(xiàn)異步執(zhí)行,可以通過自定義線程池或?qū)崿F(xiàn)SchedulingConfigurer接口,使用自定義線程池可以保證多個(gè)定時(shí)器并發(fā)執(zhí)行
    2024-11-11
  • java多態(tài)性中的Overload和Override區(qū)別詳解

    java多態(tài)性中的Overload和Override區(qū)別詳解

    這篇文章主要介紹了java多態(tài)性中的Overload和Override區(qū)別詳解,重寫(Overriding)是父類與子類之間多態(tài)性的一種表現(xiàn),而重載(Overloading)是一個(gè)類中多態(tài)性的一種表現(xiàn),需要的朋友可以參考下
    2023-07-07
  • Spring AOP詳解面向切面編程思想

    Spring AOP詳解面向切面編程思想

    Spring是一個(gè)廣泛應(yīng)用的框架,SpringAOP則是Spring提供的一個(gè)標(biāo)準(zhǔn)易用的aop框架,依托Spring的IOC容器,提供了極強(qiáng)的AOP擴(kuò)展增強(qiáng)能力,對(duì)項(xiàng)目開發(fā)提供了極大地便利
    2022-06-06
  • JavaEE的進(jìn)程,線程和創(chuàng)建線程的5種方式詳解

    JavaEE的進(jìn)程,線程和創(chuàng)建線程的5種方式詳解

    這篇文章主要為大家詳細(xì)介紹了JavaEE的進(jìn)程,線程和創(chuàng)建線程的5種方式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • 詳解spring整合hibernate的方法

    詳解spring整合hibernate的方法

    這篇文章主要介紹了spring整合hibernate的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • 詳解java操作Redis數(shù)據(jù)庫的redis工具(RedisUtil,jedis工具JedisUtil,JedisPoolUtil)

    詳解java操作Redis數(shù)據(jù)庫的redis工具(RedisUtil,jedis工具JedisUtil,JedisPoo

    這篇文章主要介紹了java操作Redis數(shù)據(jù)庫的redis工具,包括RedisUtil,jedis工具JedisUtil,JedisPoolUtil工具,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-08-08
  • java 讀寫文件[多種方法]

    java 讀寫文件[多種方法]

    前兩天用到讀寫文件的操作,上網(wǎng)搜了一些這方面的資料。很有用的。
    2008-11-11
  • java 在Jetty9中使用HttpSessionListener和Filter

    java 在Jetty9中使用HttpSessionListener和Filter

    這篇文章主要介紹了java 在Jetty9中使用HttpSessionListener和Filter的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • Java中的springboot監(jiān)聽事件和處理事件詳解

    Java中的springboot監(jiān)聽事件和處理事件詳解

    這篇文章主要介紹了Java中的springboot監(jiān)聽事件和處理事件,這個(gè)示例展示了如何在Spring Boot應(yīng)用中定義自定義事件、發(fā)布事件以及監(jiān)聽事件,需要的朋友可以參考下
    2024-07-07

最新評(píng)論