如何通过java从二进制文件中读取以前用c中fwrite函数写入的一个结构体? 以前通过c语言的fwrite函数把一个复杂的结构体存入到一个二进制文件中,由于需要,想使用Java来读出其内容,原来的c语言的那个结构体定义我很清楚.期待高手解答,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 很麻烦,我们也遇到这个问题了,我们是用readByte读入,去掉空格,转换成串,再转为对应结构体的数据类型 elitejs(小白) :能给出示例吗?谢谢。 赫赫,一样的读写。用nio的一些东西比较好1。结构体的每个成员的字节宽度。比如要读取一个int 型的(windows下的 4字节)可以用ByteBuffer 如果是同一个操作系统 就用这个ByteBuffer byteBuffer = ByteBuffer.allocate(2048).order(ByteOrder.nativeOrder());//分配2048字节缓冲.本地编码方式byteBuffer.getInt();//就是得到一个整数byteBuffer.getFloat();//得到浮点数其它类似(可以看看nio的参考,字符串也一样要注意编码方式 如Charset.forName("UTF-8").decode(byteBuffer);这里面的"UTF-8"就是源文件存储的编码方式.中文就可能使"GBK"了) java数据类型及其封装类的问题 java网络编程——C/S聊天室 乘法口诀编写 关于byte数组转换成String 后的长度不同 myeclipse下如何配置jfreechart? 求教!!!当你看到以下的内容…… Connection关闭时报错 求推荐linux上面的数据库管理工具。 新手求助,有关对数据库中模糊掉手机号码的程序!!! 一个简单的问题! 好东西! 关于snmp的问题,发生SocketTimeoutException错误
用nio的一些东西比较好
1。结构体的每个成员的字节宽度。比如要读取一个int 型的(windows下的 4字节)
可以用
ByteBuffer
如果是同一个操作系统 就用这个
ByteBuffer byteBuffer = ByteBuffer.allocate(2048).order(ByteOrder.nativeOrder());//分配2048字节缓冲.本地编码方式byteBuffer.getInt();//就是得到一个整数
byteBuffer.getFloat();//得到浮点数
其它类似(可以看看nio的参考,字符串也一样要注意编码方式 如
Charset.forName("UTF-8").decode(byteBuffer);这里面的"UTF-8"就是源文件存储的编码方式.
中文就可能使"GBK"了
)