我把几张大图片都写入到一个新文件里, 当再从该文件读出一张图片到 字节数组 构造一个 ImageIcon 对象给 JLabel , 提示出错 "java.lang.OutOfMemoryError: Java heap space"   , 不知道有别的好办法读出图片吗。

解决方案 »

  1.   

    你最终也只是想做成 ImageIcon   为什么要用大图片呢.                               可以事先自己处理一下.  自己把它缩小..然后用QQ 截图工具 截一下就行了. 
    你的错误明显是  图片序列化了之后  太大了的缘故. 
      

  2.   

    对图片进行压缩
                    ByteArrayOutputStream outStream = new ByteArrayOutputStream();
    byte[] byteArray = bos.toByteArray();
    int size = byteArray.length;
    if ((size % 3) == 1) {
    bos.write(0);
    bos.write(0);
    } else if ((size % 3) == 2) {
    bos.write(0);
    }
    try {
    bos.writeTo(MimeUtility.encode(outStream, "base64"));
    } catch (IOException e) {
    e.printStackTrace();
    } catch (MessagingException e) {
    e.printStackTrace();
    }