1、int数组转化为byte数组
0x 16进制 0b二进制 2、任何数和1作与值不变 :0&1=0 1&1=1 任何数和0作与清0:1&0=0 0&0=0
public static byte [] itob(int [] intarr)
{
int bytelength=intarr.length*4;//长度
byte []bt=new byte[bytelength];//开辟数组
int curint=0;
for(int j=0,k=0;j<intarr.length;j++,k+=4)
{
curint= intarr[j];
bt[k]=(byte) ( (curint>>24)& 0b1111_1111);//右移4位,与1作与运算
bt[k+1]=(byte) ( (curint>>16)& 0b1111_1111);
bt[k+2]=(byte) ( (curint>>8)& 0b1111_1111);
bt[k+3]= (byte) ( (curint>>0 )& 0b1111_1111);
}
return bt;
}
2、byte数组转int数组
public static int [] btoi(byte [] btarr)
{
if(btarr.length%4!=0)
{
return null;
}
int [] intarr =new int [btarr.length/4];
int i1,i2,i3,i4;
for(int j=0,k=0;j<intarr.length;j++,k+=4)//j循环int k循环byte数组
{
i1=btarr[k];
i2=btarr[k+1];
i3=btarr[k+2];
i4=btarr[k+3];
if(i1<0)
{
i1+=256;
}
if(i2<0)
{
i2+=256;
}
if(i3<0)
{
i3+=256;
}
if(i4<0)
{
i4+=256;
}
intarr[j]=(i1<<24)+(i2<<16)+(i3<<8)+(i4<<0);//保存Int数据类型转换
}
return intarr;
}
3、两种读字符文件文件方式
BufferedReader br = new BufferedReader(new FileReader(path),1024 * 1024 * 10);
有中文时处理方式
BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(pathIn),"GBK"));