代码片段:
FileInputStream fin=null; try { fin=new FileInputStream(picPath); } catch(FileNotFoundException e) { System.out.println("没有找到文件,请检查文件名或路径是否正确"); System.out.println("程序将要退出"); System.exit(0); }JPEGImageDecoder jpegDecoder = JPEGCodec.createJPEGDecoder(fin); try{ BufferedImage bimage = jpegDecoder.decodeAsBufferedImage();//196行
realPicWidth = bimage.getWidth(); realPicHeight = bimage.getHeight(); }catch(IOException e){ e.printStackTrace(); }出现了以下问题:
com.sun.image.codec.jpeg.ImageFormatException: Not a JPEG file: starts with 0xff 0xd9 at sun.awt.image.codec.JPEGImageDecoderImpl.readJPEGStream(Native Method) at sun.awt.image.codec.JPEGImageDecoderImpl.decodeAsBufferedImage(Unknown Source) at rtf.CreateRTF.createPic(CreateRTF.java:196) at rtf.impl.main(impl.java:8)
FileInputStream fin=null; try { fin=new FileInputStream(picPath); } catch(FileNotFoundException e) { System.out.println("没有找到文件,请检查文件名或路径是否正确"); System.out.println("程序将要退出"); System.exit(0); }JPEGImageDecoder jpegDecoder = JPEGCodec.createJPEGDecoder(fin); try{ BufferedImage bimage = jpegDecoder.decodeAsBufferedImage();//196行
realPicWidth = bimage.getWidth(); realPicHeight = bimage.getHeight(); }catch(IOException e){ e.printStackTrace(); }出现了以下问题:
com.sun.image.codec.jpeg.ImageFormatException: Not a JPEG file: starts with 0xff 0xd9 at sun.awt.image.codec.JPEGImageDecoderImpl.readJPEGStream(Native Method) at sun.awt.image.codec.JPEGImageDecoderImpl.decodeAsBufferedImage(Unknown Source) at rtf.CreateRTF.createPic(CreateRTF.java:196) at rtf.impl.main(impl.java:8)
文件的开头是ffd8.而且该文件在acdsee下看也是jpg
这段程序访问其它jpg文件时也出现这样的问题!
你读的InputStream和JPEGImageDecoder读的不会是同一个input stream吧?
是不是这样呢?