是这样的,我需要读取一个图片为byte[],然后用BASE64对其进行encode(byte[])...
可是文件如何读取为byte[],我的byte[]初始化的长度不能确定...太长了有冗余的空字节...求救,搞了我几天了

解决方案 »

  1.   

    1,为什么要用BASE64 Encode图片呀?加密?为什么不用别的办法呢?
    2,可以考虑一个block一个block的encode。
      

  2.   

    文件读取为byte:File file = new File("你的文件");
    byte[] buf = new byte[(int)file.length()];
    java.io.FileInputStream f = new java.io.FileInputStream(file);
    f.read(buf);
    f.close();
      

  3.   

    to dash_running()
    呵呵,是要用来xml传图片,给手机to jgwei
    file.length()我需要的是Base64编码,不知道这个长度是不是正好。其实差不多也行了
    想过很多方法,什么toString(charcter), getBytes,都是因为编码问题后来我好像解决了
    StringBuffer buffer_encode = new StringBuffer();
    byte[] buf = new byte[1024];
    while((n = is.read(buf)) != -1){
    BASE64Encoder encoder = new BASE64Encoder();
    buffer_encode.append(encoder.encode(buf));
    }
      

  4.   

    to jgwei
    可行...我看错了。谢谢
    我就是不会求长度,汗
      

  5.   

    to   jgwei  的方法确实可以