Java中byte数组与long数组相互转化
2008-10-17 15:08
465 查看
Java中byte数组与long数组相互转化
ByteAndLongArrayTest代码如下:
package com.array.test;
import java.io.IOException;
/**
* @ version 1.0
* @ author wangwei
* @ created on 2008-10-17
*/
public class ByteAndLongArrayTest {
/**
* long数组转化为byte数组
*
* @param longArray
* @return
* @throws IOException
*/
public static byte[] longToByte(long[] longArray)throws IOException{
byte[] byteArray=new byte[longArray.length*8];
for(int i=0;i<longArray.length;i++)
{
byteArray[0+8*i]=(byte)(longArray[i]>>56);
byteArray[1+8*i]=(byte)(longArray[i]>>48);
byteArray[2+8*i]=(byte)(longArray[i]>>40);
byteArray[3+8*i]=(byte)(longArray[i]>>32);
byteArray[4+8*i]=(byte)(longArray[i]>>24);
byteArray[5+8*i]=(byte)(longArray[i]>>16);
byteArray[6+8*i]=(byte)(longArray[i]>>8);
byteArray[7+8*i]=(byte)(longArray[i]>>0);
}
return byteArray;
}
/**
* byte数组转化为long数组
*
* @param byteArray
* @return
* @throws IOException
*/
public static long[] byteToLong(byte[] byteArray)throws IOException{
long [] longArray=new long[byteArray.length/8];
for(int i=0;i<longArray.length;i++)
{
longArray[i]=(((long)byteArray[0+8*i]&0xff)<<56)
|(((long)byteArray[1+8*i]&0xff)<<48)
|(((long)byteArray[2+8*i]&0xff)<<40)
|(((long)byteArray[3+8*i]&0xff)<<32)
|(((long)byteArray[4+8*i]&0xff)<<24)
|(((long)byteArray[5+8*i]&0xff)<<16)
|(((long)byteArray[6+8*i]&0xff)<<8)
|(((long)byteArray[7+8*i]&0xff)<<0);
}
return longArray;
}
/**
* @param args
*/
public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
long [] longArray={1,2,3,4,500000};
byte [] byteArray=longToByte(longArray);
for(int i=0;i<byteArray.length;i++)
{
System.out.print(byteArray[i]+" ");
}
System.out.println();
long [] longArray2=byteToLong(byteArray);
for(int i=0;i<longArray.length;i++)
System.out.print(longArray[i]+" ");
}
}
ByteAndLongArrayTest代码如下:
package com.array.test;
import java.io.IOException;
/**
* @ version 1.0
* @ author wangwei
* @ created on 2008-10-17
*/
public class ByteAndLongArrayTest {
/**
* long数组转化为byte数组
*
* @param longArray
* @return
* @throws IOException
*/
public static byte[] longToByte(long[] longArray)throws IOException{
byte[] byteArray=new byte[longArray.length*8];
for(int i=0;i<longArray.length;i++)
{
byteArray[0+8*i]=(byte)(longArray[i]>>56);
byteArray[1+8*i]=(byte)(longArray[i]>>48);
byteArray[2+8*i]=(byte)(longArray[i]>>40);
byteArray[3+8*i]=(byte)(longArray[i]>>32);
byteArray[4+8*i]=(byte)(longArray[i]>>24);
byteArray[5+8*i]=(byte)(longArray[i]>>16);
byteArray[6+8*i]=(byte)(longArray[i]>>8);
byteArray[7+8*i]=(byte)(longArray[i]>>0);
}
return byteArray;
}
/**
* byte数组转化为long数组
*
* @param byteArray
* @return
* @throws IOException
*/
public static long[] byteToLong(byte[] byteArray)throws IOException{
long [] longArray=new long[byteArray.length/8];
for(int i=0;i<longArray.length;i++)
{
longArray[i]=(((long)byteArray[0+8*i]&0xff)<<56)
|(((long)byteArray[1+8*i]&0xff)<<48)
|(((long)byteArray[2+8*i]&0xff)<<40)
|(((long)byteArray[3+8*i]&0xff)<<32)
|(((long)byteArray[4+8*i]&0xff)<<24)
|(((long)byteArray[5+8*i]&0xff)<<16)
|(((long)byteArray[6+8*i]&0xff)<<8)
|(((long)byteArray[7+8*i]&0xff)<<0);
}
return longArray;
}
/**
* @param args
*/
public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
long [] longArray={1,2,3,4,500000};
byte [] byteArray=longToByte(longArray);
for(int i=0;i<byteArray.length;i++)
{
System.out.print(byteArray[i]+" ");
}
System.out.println();
long [] longArray2=byteToLong(byteArray);
for(int i=0;i<longArray.length;i++)
System.out.print(longArray[i]+" ");
}
}
相关文章推荐
- JAVA的数组 && 原始类型和引用类型以及String与int long相互转化 && String与byte[]相互转化
- Java中byte数组与long数组相互转化
- Java之——基本数据类型与byte数组相互转化
- Java byte数组按位转化为long类型
- Java之——基本数据类型与byte数组相互转化
- java中int、long与byte数组相互转换
- java下16进制字符串和字节数组的相互转化
- java中InputStream转化为byte[]数组
- JAVA中int型数据和byte数组之间的相互转换
- java中long,int,short与byte数组之间的转换
- Java byte数组到long的转换
- 字节数组byte[]与16进制字符串的相互转化
- java byte数组与int,long,short,byte转换
- 对象与Byte数组相互转化工具方法
- java类集合 Set ,List ,Map ,数组之间相互转化
- java-long和日期的相互转化
- CString与Byte数组的相互转化
- JAVA byte数组转化为16进制字符串输出
- java byte数组与int,long,short,byte转换
- java中byte数组与int,long,short间的转换