您可以使用 ByteArrayOutputStream 获取字节数组,这样应该可以工作:(注意,未经测试的代码)
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write( bufferedImage, "jpg", baos ); // if your image is a jpg
baos.flush();
byte[] imageInByte = baos.toByteArray();
baos.close();
编辑
这个怎么样?您需要图像的 FileInputstream 来读取它并将其写入 ByteArrayOutputStream
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
try {
for (int readNum; (readNum = fis.read(buf)) != -1;) {
bos.write(buf, 0, readNum);
}
} catch (IOException ex) {
//
}
byte[] bytes = bos.toByteArray();