求段简单JAVA的代码
import java.io.*;
public class Test{
public static void main(String s[]){
byte[] b1=new byte[3];
byte[] b2=new byte[3];
try{
File f=new File("F:\\11.txt");
RandomAccessFile raf=new RandomAccessFile(f,"rw");
long len=raf.length();
raf.read(b1,0,3);
String str=bytesToHexString(b1);
System.out.println("前三个字节哈希码是:"+b1.toString());
System.out.println("转换为十六进制后是:"+str);
raf.seek(len-3);
//raf.read(b2,(int)(len-3),3);
b2[0]=raf.readByte();
b2[1]=raf.readByte();
b2[2]=raf.readByte();
str=bytesToHexString(b2);
System.out.println("后三个自己哈希码是:"+b2.toString());
System.out.println("转换为十六进制后是:"+str);
}catch(Exception e){System.out.println("error");}
}
public static final String bytesToHexString(byte[] bArray) {
StringBuffer sb = new StringBuffer(bArray.length);
String sTemp;
for (int i = 0; i < bArray.length; i++) {
sTemp = Integer.toHexString(0xFF & bArray[i]);
if (sTemp.length() < 2)
sb.append(0);
sb.append(sTemp.toUpperCase());
}
return sb.toString();
}
}
主要的除了转16进制,就是用RandomAccessFile的seek来快速定位倒数的三个字节的位置。还有问题的话,baiduhi我,随时在线