我有一个java程序,它在MySQL“BINARY(128)”字段中存储128字节长度的字节数组。
然后,使用PHP我访问数据库并提供将此数据导出到文件中的选项,因此我解压缩()二进制数据,并将其写入文件。
然后,必须在我正在编写的Java程序中读取此文件,但我无法找到如何读取此数据。有什么建议吗?
我尝试过:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int i = 0;
while (i < 128) {
System.out.println(baos.read());
i++;
}
但是bis.read()返回一个int,我发送到mysql db的字节数组是一个字符串:“text”.getBytes(“utf-8”);
谢谢,
答案 0 :(得分:1)
为什么不使用FileInputStream? (http://download.oracle.com/javase/1.4.2/docs/api/java/io/FileInputStream.html)
read()方法读取一个字节,但它返回一个int。
答案 1 :(得分:1)
您是否尝试过使用Data Streams?
答案 2 :(得分:1)
结合@Ricardo和@MarcoS的答案
DataInputStream dis = new DataInputStream(new FileInputStream("my-data-file.dat"));
try {
byte[] bytes = new byte[128];
dis.readFully(bytes);
// read some more.
} finally {
try {
dis.close();
} catch(IOException ignored) { }
}