2017-04-23 68 views
0

我认为它用randomAccessFile写入的顺序与它读取的顺序不匹配。我该如何纠正?这与Big/Little Endian有关吗?在Java中读写RandomAccessFile的命令

RandomAccessFile accessor = new RandomAccessFile (new File("passwd_file"), "rws"); 
accessor.write(macbytes); 
//System.out.println(macbytes); 
byte[] test=new byte[(int) accessor.length()]; 
accessor.seek(0); 
accessor.read(test); 

//System.out.println(test); 
if (test.equals(macbytes))System.out.println("true"); 
else System.out.println("false"); 
+1

http://stackoverflow.com/questions/8777257/equals-vs-arrays-equals-in-java – tkausl

回答

2

您的测试无效。 byte[]类不会覆盖Object.equals()。尝试使用Arrays.equals()

+0

谢谢你这么多。我一直在检查这个小时,并一直认为这是与类的类型,并从来没有想过它有什么关系等于...对不起,我想我没有经验.. – Ava