如果你的存储方法用得好的话,你读取时会很方便的,并不像你现在这样难。example: file.iniusername=abc
age=22
gender=1

解决方案 »

  1.   

    我不讨论保存数据好不好的问题,假如有一个二进制数组
    Byte b[4] 里面的是一个Int的二进制数,那么如何转为整数?
    不会是
    int a=b; 
    这样就行了吧???
      

  2.   

    显然不行
    比如你的b[]={1,1,0,1},b[0]存高位,那就做一个循环,从高往低累加,结果是c=1*2^3+1*2^2+0*2^1+1*2^0,c就是你要的int值了。
      

  3.   

    Byte b[ 4 ] = {1,1,0,1};int a = 0;
    for (int i = 0; i < 4; i++){
    a += ( ( int )b[ i ] ) << 8;
    }
      

  4.   

    呀,犯了个错误:(byte b[] = {1,1,0,1};int a = 0;
    for (int i = 0; i < 4; i++){
    a += ( ( int )b[ i ] ) << 8;
    }
      

  5.   

    还是错了:(((((((((((((((((脸都丢光了:( byte b[] = {0,0,1,1}; int a = 0;
    int index;
    for ( index = 0; index < 3; index++){
    a += ( ( int )b[ index ] ) << 8;
    }
    a += b[ index ];  System.out.println( "a= " + a);
      

  6.   

    从二进制文件读int?这个文件是你生成的吗?看看RandomAccessFile的文档
      

  7.   

    byte b[] = {0,1,1,1}; int a = 0;
    int index;
    for ( index = 0; index < 3; index++){
    a = ( b[ index ] + a) << 8;
    }
    a += b[ index ];  System.out.println( "a= " + a);又错了,运算优先级搞错了,这回肯定没问题了,结果测试过了:(错了这么多次才写对,真他妈的并:(
      

  8.   

    bluesmile979(笑着)
    哈哈,哈哈哈
      

  9.   

    我想更关心楼主是怎么把int转成byte或byte[] 的,这与以后的读取才是干系最大的。
      

  10.   

    被笑话了吧,呼。我写的int转成byte[],六道帮帮忙指点一下有什么更好的方法。  byte b[] = new byte[ 4 ]; int a = 65793;
    int c;
    for ( int i = 0; i < 4; i++){
    c=a;
    c = c << ( i * 8 );
    b[ i ] = ( byte )( c >> ( 3 * 8 ) );
    System.out.println(  "b[ " + i + " ] = " + b[ i ]);
    }
      

  11.   

    byte b[] = new byte[ 4 ]; int a = 65793;
    int c;
    for ( int i = 0; i < 4; i++){
    c=a;
    c = c << ( i * 8 );
    b[ i ] = ( byte )( c >> ( 3 * 8 ) );
    System.out.println(  "b[ " + i + " ] = " + b[ i ]);
    }
    System.out.println(Integer.toBinaryString(a));
    结果::
    b[ 0 ] = 0
    b[ 1 ] = 1
    b[ 2 ] = 1
    b[ 3 ] = 1
    10000000100000001哈哈哈不行了
      

  12.   

    本来想再打击打击bluesmile979(笑着)的,让他莫名其妙找不着北,被楼主坏了bluesmile979(笑着)你的方法很好,我本来想移位后进行与运算的。不知道哪个效率高,呵呵。