当前位置:编程学习 > JAVA >>

ImageIO.write(bf, "jpg", f2)为何在linux下总提示bf=null

代码如下: public static void Bmp2Jpg(String bmppath,String jpgpath){
File f1 = new File(bmppath);
try {
BufferedImage bf = ImageIO.read(f1);
File f2 = new File(jpgpath);
ImageIO.write(bf, "jpg", f2);
} catch (Exception e) {
e.printStackTrace();
}
}
在windows下输入bmp路径没问题,但是在linux下输入bmp路径后,也能够建立jpg文件,但是该文件0大小,而且提示java.lang.IllegalArgumentException: im == null!
        at javax.imageio.ImageIO.write(ImageIO.java:1413)
        at javax.imageio.ImageIO.write(ImageIO.java:1472)
        at util.BmpToJpg.Bmp2Jpg(BmpToJpg.java:14)
        at jsp_servlet.__posttsfid1._jspService(__posttsfid1.java:150)
        at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
        at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1077)
        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:7047)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
        at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3902)
        at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2773)
        at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183) --------------------编程问答-------------------- 莫非linux下不支持BMP解码, 导致BufferedImage bf = ImageIO.read(f1);后bf=null;

如果是这样,  那就去找一个开源的BMP解码库吧; --------------------编程问答-------------------- 我也遇到同样问题,怎么解决啊?
补充:Java ,  Java SE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,