用C++写的二进制文件,用JAVA怎么读取?

用C++写的二进制文件,用JAVA怎么读取?,第1张

在JAVA中,用stringbuffer读取,然后强制转换成int类就可以了应该,还有就是顺便给你说一下,在32位机上,int long都是4个字节,64位机上,int大小是取决于编译器,long是8个字节

数据库中存放这些个二进制文件的字段是BLOB,oracle和MysqL里面都是

java中读取 BLOB数据:

首先做查询,拿到查询结果ResultSet rs = XXXX (和普通数据查询一样)

然后:Blob blob = rs.getBlob("字段名")拿到你的Blob ,

得到文件的二进制流:InputStream binaryStream= blob.getBinaryStream(),

你的文件数据就在这个流当中,你想怎么用就怎么取,比如,读出来存到一个byte[]中,以便序列化传输,读出来构造成一个File直接存放到本地等等。

举个例子吧:从这个binaryStream中读取数据到byte[]的方法,

////////---------------------

/**

* 从binaryStream中读取数据到byte[]的方法

* @param in 即binaryStream

* @return

* @throws Exception

*/

public static byte[] readStreamToByteArray(InputStream in) throws Exception{

ByteArrayOutputStream outputStream = new ByteArrayOutputStream()

byte[] buffer = new byte[1024]

int len = -1

while((len = in.read(buffer)) != -1) {

outputStream.write(buffer, 0, len)

}

outputStream.close()

in.close()

return outputStream.toByteArray()

}

//


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11486361.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存