FileOutputStream fos = null;
        DataOutputStream dos = null;
        try
        {
            fos = new FileOutputStream(file);
            dos = new DataOutputStream(fos);
            dos.writeUTF(time);
            dos.write(PicUtil.bitmapToBytes(pic));
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
我想一个文件中写入了图片拍摄时间(String),和图片数据(byte[]),写会写,可是读的时候只能读出time,即用readUTF()方法,可是接下来的图片数据就不知如何读取了,望高手指点一下

解决方案 »

  1.   

    1. 指定写入格式(二进制):00 03 aa bb cc 01 03 12 32 34 ....
    00 03 头两位表示数据长度,aa bb cc表示数据
    01 03 表示图片长度, 01 03 12 32 34 ....表示图片数据
    2. XML格式,图片采用base64编码
      

  2.   

    设置一个1M(足够大的byte[] buffer)读到文件结尾。(如果图片后面还有数据的话,抱歉,这做不到了,除非采用上面的格式,知道数据的长度)