下面的代码是将文件转换为bytearray。
public static byte[] convertFileToByteArray(File f) {
byte[] byteArray = null;
try {
@SuppressWarnings("resource")
InputStream inputStream = new FileInputStream(f);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] b = new byte[1024 * 8];
int bytesRead = 0;
while ((bytesRead = inputStream.read(b)) != -1) {
bos.write(b, 0, bytesRead);
}
byteArray = bos.toByteArray();
} catch (IOException e) {
e.printStackTrace();
}
return byteArray;
}
但我需要一个将文件转换为二进制格式的代码。
答案 0 :(得分:1)
试试这个:
获取字节数组文件:
File file= new File("path file");
byte[] fileByte=convertFileToByteArray(file);
然后转换为字节数组中的base64:
byte[] file_in_base64 = Base64.encode(fileByte, Base64.DEFAULT);
将字节数组转换为二进制数:
String toBinary( byte[] bytes )
{
StringBuilder sb = new StringBuilder(bytes.length * Byte.SIZE);
for( int i = 0; i < Byte.SIZE * bytes.length; i++ )
sb.append((bytes[i / Byte.SIZE] << i % Byte.SIZE & 0x80) == 0 ? '0' : '1');
return sb.toString();
}