<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-348  評論-598  文章-0  trackbacks-0
    開發的時候發現,C#寫入的字節順序是從低到高(左低到右高),而Java的DataInputStream讀取的數據是從高到低(左高到右低),所以當我們要用Java讀取C#生成的二進制文件的時候,需要將DataInputStream里面的幾個方法重寫或者寫一些輔助方法,例如下面兩個函數是用來讀取C#寫入的無符號Short型和無符號長整型數據。 
    /**
         * 逆轉字節數組
         * 
         * 
    @param b
         * 
    @return
         
    */
        
    private static byte[] reverse(byte[] b) {

            
    byte[] temp = new byte[b.length];
            
    for (int i = 0; i < b.length; i++) {
                temp[i] 
    = b[b.length - 1 - i];
            }
            
    return temp;
        }

        
    /**
         * 讀取無符號位的Short數,16位
         * 
         * 
    @param readBuffer
         * 
    @return
         * 
    @throws IOException
         
    */
        
    public static final BigInteger readUnsignedShort(byte[] readBuffer)
                
    throws IOException {
            
    if (readBuffer == null || readBuffer.length < 2)
                
    return new BigInteger("0");
            
    // 處理成無符號數
            byte[] uint64 = new byte[3];
            uint64[
    2= 0;
            System.arraycopy(readBuffer, 
    0, uint64, 02);
            
    return new BigInteger(reverse(uint64));
        }

        
    /**
         * 讀取無符號位的長整數,64位
         * 
         * 
    @param readBuffer
         * 
    @return
         * 
    @throws IOException
         
    */
        
    public static final BigInteger readUnsignedInt64(byte[] readBuffer)
                
    throws IOException {
            
    if (readBuffer == null || readBuffer.length < 8)
                
    return new BigInteger("0");
            
    // 處理成無符號數
            byte[] uint64 = new byte[9];
            uint64[
    8= 0;
            System.arraycopy(readBuffer, 
    0, uint64, 08);
            
    return new BigInteger(reverse(uint64));
        }


    ---------------------------------------------------------
    專注移動開發

    Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
    posted on 2010-05-02 22:25 TiGERTiAN 閱讀(3167) 評論(1)  編輯  收藏 所屬分類: JavaDotNet

    評論:
    # re: C#的BinaryWriter和Java的DataInputStream之間的數據相互轉換 2010-05-04 11:37 | 麗可酷
    DataInputStream之間的數據相互轉換   回復  更多評論
      
    主站蜘蛛池模板: 久久亚洲国产精品| 亚洲AV日韩精品久久久久久久| 77777亚洲午夜久久多喷| 免费人成在线观看网站品爱网| 亚洲成a人片在线观看无码| 美女被免费网站91色| 亚洲中文字幕无码专区| 中文成人久久久久影院免费观看 | 精品亚洲456在线播放| 91精品免费在线观看| 亚洲福利一区二区精品秒拍| 国产日产成人免费视频在线观看 | 亚洲av日韩精品久久久久久a| 日本媚薬痉挛在线观看免费| 国产亚洲女在线线精品| 亚洲精品A在线观看| a级毛片在线视频免费观看| 亚洲AV无码精品色午夜果冻不卡| 91青青青国产在观免费影视| 亚洲国产模特在线播放| 日韩免费观看的一级毛片| 免费看一级高潮毛片| 亚洲无码在线播放| 最近的中文字幕大全免费8| 亚洲精品天堂在线观看| 亚洲国产婷婷香蕉久久久久久| 在线免费观看伊人三级电影| 亚洲欧洲日产v特级毛片| 岛国岛国免费V片在线观看| 日韩成人免费视频播放| 一区二区三区在线观看免费| 四虎永久免费网站免费观看| xxxxx做受大片在线观看免费| 久久亚洲私人国产精品| 成人性生活免费视频| 国产乱妇高清无乱码免费| 亚洲中文字幕无码av在线| 凹凸精品视频分类国产品免费| 精品国产免费一区二区三区香蕉| 亚洲午夜久久久精品电影院| 亚洲精品成人网久久久久久|