用java io流读取文件的二进制数,算了一下大概有1.5M的大小。大概就是1500000个二进制数了。这些二进制数是按照一种格式组合的。例如说这样的结构: 日期 12个字节,ID 4个字节,文件协议 4个字节,消息体 32个字节,消息体里面有分好多层,又包括消息头 21个字节,消息内容100个字节。如是说...目前我处理的方法,就是在我的class里面锁死每个数组的大小,按照12,4,4,32,21,100个字节这样一直读这个流中的数据,并转成int型或者是string~~ int TIME = 12;
int ID = 32;
int RESERVED = 32;
int HEAD_TOTAL = TIME+ID+RESERVED;
int HEAD[] ={TIME,ID,RESERVED};
String[] HEAD_STRING={"TIME","ID","RESERVED"};
File f = new File(directory, src);
File f_out = new File (directory, des);
RandomAccessFile in = new RandomAccessFile(f, "rw"); byte[] b = new byte[1024]; //the buffered byte-type array(100 btyes)// 设置要读取的字节位置
in.seek(0);
int len1 = in.read(b,0,HEAD[0]); int i = 0;
int j = 0;
while(len1!= -1){
System.out.println(HEAD_STRING[j]); switch(j){
case 0:
case 1:
case 2:{
int mask=0xff; //To int
int temp=0;
int n=0;
for(int k=0;k<4;k++){
n<<=8;
temp=b[k]&mask;
n|=temp;
}
System.out.println(n);
}; break;
......大家有没有好点的方法?这样读的话效率太低了,而且代码量相当的大~
int ID = 32;
int RESERVED = 32;
int HEAD_TOTAL = TIME+ID+RESERVED;
int HEAD[] ={TIME,ID,RESERVED};
String[] HEAD_STRING={"TIME","ID","RESERVED"};
File f = new File(directory, src);
File f_out = new File (directory, des);
RandomAccessFile in = new RandomAccessFile(f, "rw"); byte[] b = new byte[1024]; //the buffered byte-type array(100 btyes)// 设置要读取的字节位置
in.seek(0);
int len1 = in.read(b,0,HEAD[0]); int i = 0;
int j = 0;
while(len1!= -1){
System.out.println(HEAD_STRING[j]); switch(j){
case 0:
case 1:
case 2:{
int mask=0xff; //To int
int temp=0;
int n=0;
for(int k=0;k<4;k++){
n<<=8;
temp=b[k]&mask;
n|=temp;
}
System.out.println(n);
}; break;
......大家有没有好点的方法?这样读的话效率太低了,而且代码量相当的大~
解决方案 »
类似问题 »
- 这个怎么解决啊
- 关于java io
- 大家都用哪个IDE
- 我来也! 请教一下,在纯的JDBC中,如何项目采用分层了DAO层,服务层和SERVLET控制层,,那么怎么在servlet中启用JDBC的事务?
- 关于一个简单的聊天事(变量修改问题)
- Launch4j 教程,jar转exe免费开源工具
- 百思不得其解:环境配置好后,java可运行,javac不能运行,注销系统后再登录才可以运行
- 有C++和一些.Net 基础,应该怎样学Java?
- 这些例子有什么区别的呢
- 有关连接数据库的问题!
- 紧急问题,求救,关于javabean
- 怎样解决JCeartor中编辑中文乱码问题啊?急.....
- 请教各位大神一个关于java swing的问题
- 高分讨论:C++与Java的优略。
- vj++安装文件的问题。
- jfreechart ThermometerPlot小问题
- JComboBox中有重複數據為什麽選不了
不仅不好弄,在这个文件里面也是有好多这样的一组一组的信息,但是每组的长度又不是固定的,有的没有时间信息, 有的没有别的信息