我有一个表示RGB图像的整数数组,想将其转换为字节数组并将其保存到文件中。
在Java中将整数数组转换为字节数组的最佳方法是什么?
正如Brian所说,您需要确定需要什么样的转换。
您是否要将其保存为“正常”图像文件(jpg,png等)?
如果是这样,您可能应该使用Java Image I / O API。
如果要以“原始”格式保存,则必须指定写入字节的顺序,然后使用IntBuffer和NIO。
IntBuffer
作为使用ByteBuffer / IntBuffer组合的示例:
import java.nio.*; import java.net.*; class Test { public static void main(String [] args) throws Exception // Just for simplicity! { int[] data = { 100, 200, 300, 400 }; ByteBuffer byteBuffer = ByteBuffer.allocate(data.length * 4); IntBuffer intBuffer = byteBuffer.asIntBuffer(); intBuffer.put(data); byte[] array = byteBuffer.array(); for (int i=0; i < array.length; i++) { System.out.println(i + ": " + array[i]); } } }