用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;
        ......大家有没有好点的方法?这样读的话效率太低了,而且代码量相当的大~