JAvaのwrite(int n)は気をつけて

536 ワード

今日はsocket中等専門サービスを書くために、
リクエストを受け付けたCRC 32 値が4ビットの読み取り後、別のソケットに転送する際にwrite(int n)という方法で直接出力すると、戻り異常が見つかり、
後でCRC 32の出力に問題があると感じ、apiを探してwrite(int n)を見る 書き込みバイトYesパラメータ  b  の8つの低位.b  の24の高位は無視されます.
解決策
だから自分でintをbyte[]配列に変換します 
    byte[] result = new byte[4];    result[0] = (byte)((hexCrc32value >> 24) & 0xFF);//result[1] = (byte)((hexCrc32value >> 16) & 0xFF);//result[2] = (byte)((hexCrc32value>> 8) & 0xFF);//result[3] = (byte)(hexCrc32value& 0xFF);//