首页 > 其他 > 详细

数据类型转换

时间:2014-04-15 15:06:01      阅读:572      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
package com.coretech.tooler;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.FloatBuffer;
import java.nio.IntBuffer;

import com.coretech.defobject.Constant;

public class DataCovert {

    //float转byte[]
         public static void floatToByte(float fArr[],byte[] bRetData,int nOffset) {
                 int uLen = fArr.length * 4;
                ByteBuffer bb = ByteBuffer.allocate(uLen);
                byte temp[] = new byte[4];
                for (int i = 0; i < fArr.length; i++) {
                    FloatBuffer fb = bb.asFloatBuffer();
                    fb.put(fArr[i]);
                    bb.get(temp);
                    for (int j = 0; j < 4; j++) {
                        bRetData[4*i + j + nOffset] = temp[3-j];
                    }
                }            
         }
         
        //byte[]转float
         public static float[] byteToFloat(byte[] btArr,int nOffset,int ufLen){
             float fRet[] = new float[ufLen ];
             byte[] bArr = new byte [4];
             for (int i = 0; i < ufLen ; i++) {
                 for (int j = 0; j < 4; j++) {
                     bArr[j] = btArr[4*(i+1) - j -1 + nOffset];
                }
                 ByteBuffer bb = ByteBuffer.wrap(bArr);
                    FloatBuffer fb = bb.asFloatBuffer();
                    fRet[i] = fb.get();
            }       
            return fRet;
         }
        
        //int转byte[]
         public static void intToByte(int nArr[],byte[] bRetData,int nOffset) {
                 int uLen = nArr.length * 4;
                ByteBuffer bb = ByteBuffer.allocate(uLen);
                byte temp[] = new byte[4];
                for (int i = 0; i < nArr.length; i++) {
                    IntBuffer fb = bb.asIntBuffer();
                    fb.put(nArr[i]);
                    bb.get(temp);
                    for (int j = 0; j < 4; j++) {
                        bRetData[4*i + j + nOffset] = temp[3-j];
                    }
                   
                }            
         }
         
        //byte[]转int
         public static int[] byteToInt(byte[] btArr,int nOffset,int ufLen){
             int fRet[] = new int[ufLen ];
             byte[] bArr = new byte [4];
             for (int i = 0; i < ufLen ; i++) {
                 for (int j = 0; j < 4; j++) {
                     bArr[j] = btArr[4*(i+1) - j -1 + nOffset];
                }
                ByteBuffer bb = ByteBuffer.wrap(bArr);
                IntBuffer fb = bb.asIntBuffer();
                fRet[i] = fb.get();
            }       
            return fRet;
         }
         
 }
bubuko.com,布布扣

 

数据类型转换,布布扣,bubuko.com

数据类型转换

原文:http://www.cnblogs.com/profession/p/3663294.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!