package inputCompare;
import inputCompare.chunk.Chunk;
import inputCompare.chunk.TttdChunker;
import inputCompare.chunk.TttdChunker.TTTDEnumeration;
import java.io.File;
import java.io.IOException;
public class CdcCompare {
File file = null ;
public CdcCompare(File block) {
file = block ;
}
public static void main(String[] args) {
File part0 = new File("F:\\Graph\\blk_9213989683862805295");
CdcCompare sc = new CdcCompare(part0);
sc.run();
System.out.println("\n");
CdcCompare sc1 = new CdcCompare(part0);
sc1.run();
}
public void run() {
try {
TttdChunker chunker = new TttdChunker(1015);
TTTDEnumeration chunksEnum = (TTTDEnumeration) chunker.createChunks(file);
Chunk chunk = null ;
while (chunksEnum.hasMoreElements()) {
chunk = chunksEnum.nextElement();
System.out.println(chunk.getChecksum());
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
代码如上,输出结果:
[B@6e3c9e46
[B@ba7089f
[B@32704b3
[B@76a58562
[B@6cd821c8
[B@6192094b
[B@3aa04cf8
[B@721d4bd9
[B@615ece16
[B@172c384b
[B@5823cfcf
[B@17204c3e
[B@3a153e9c
[B@48c1918e
[B@1c3b26f3
[B@6f7a29ff
[B@3d5b5d86
[B@395927e2
[B@c4983d8
[B@2e6ee035
[B@7141cf63
[B@1796a6ac
[B@2398724d
[B@6d782f7c
理论上说两个文件内容一样的话,切片得来的各个分片的校验和应该大部分是相同的啊
可是为啥会这样呢
非常奇怪, 请大家给指点下.
这里犯了一个低级错误: TMD!
System.out.println(byte[]);
的话,
调用byte[]对象直接打印的话,
直接打印实际上调用的是toString()方法,而toString()的默认实现是打印对象类型+hashCode()
[B表示byte数组
@表示之后的是地址
后面跟着的是hashCode,其实就是其虚拟机地址
所以这个结果也就是顺理成章了.
正确的做法应该是:
System.out.println("分片: " + new String(chunk.getChecksum()));
参考: http://blog.csdn.net/hjm4702192/article/details/17073829
分享到:
相关推荐
我们知道,在html中,利用[removed][removed]引入的两个js是不可以相互调用的。那么该如何解决呢?当然,你可以将代码通通copy过来,也许你并不喜欢这样。 例如有这样一个html,里面有一个按钮,当按下时调用b.js...
QT 不同文件直接变量调用 示例,该示例展示了如何调用函数,已经如何调用变量。
本文实例讲述了Python实现调用另一个路径下py文件中的函数方法。分享给大家供大家参考,具体如下: 针对这个问题,网上有很多的解决方式。其实最主要的原因是因为Python无法正确找到你其他文件夹下文件的路径。针对...
在android中两次调用jni里面的不同的方法
如果是在同一个 module中(也就是同一个py文件里),直接用就可以 如果在不同的module里,例如 a.py里有 class A: b.py 里有 class B: 如果你要在class B里用class A 需要在 b.py的开头写上 from a import A 举个例子:...
文档中介绍了PGIS栅格切片的参数以及切片在线调用规则,与ArcGIS Server的切片机制进行对比,然后在ArcGIS API for flex中调用PGIS切片
struts2利用通配符调用同一个Action里面不同的方法,在struts.xml配置文件中将请求方法的不相同部分抽象成“*".
有时外部程序调用SAP 的RFC, 实现与SAP程序的接口, 是以外部程序为主;...我在网上找了好久,都没有一个完整的答案, 也没有一个完整的实例, 根据网上的各种说法, 我整合到一起, 终于成功, 原来这么简单
调用天地图测试页面,包括arcgis的flex开发接口
华中科技大学操作系统课程设计专用,内含5个部分: 1.1 利用系统调用实现文件拷贝(含代码和makefile) 1.2 多进程编程,实现三个子进程窗口(含代码和makefile) 2 自己的系统调用,只有系统调用实现的代码,系统...
2、可以把多个.c 文件合成一个lib 文件,这样在工程就不必要把每一个.c 文件都添加一遍。 3、相比添加.c 文件,它具有不使用已经申明的extern 函数也不会出现Keil 经典的UNCALLED FUNC warning。更重要的是,不使用...
C#是一种比较常用的编码工具,而经常因为一些原因会对代码进行分块,那两者之间的相互的调用就非常关键,下面简单说说怎样跨文件调用 首先需要被引用文件中有这个方法,同时该方法必须是public公共的方法 其次需要...
openlayers3 调用离线谷歌切片地图 示例
java调用需要上传文件的接口源码,其中含调用案例,调用工具,下载下来即可使用
原来在 CORS-跨域资源共享 中,可以使用 OPTIONS 方法发起一个预检请求,以检测实际请求是否可以被服务器所接受。预检请求报文中的 Access-Control-Request-Method 首部字段告知服务器实际请求所使用的 HTTP 方法;...
假如一个方法在1s内被调用了100次,现在想让这个方法,在一定时间内(假如 1s ),只调用一次,该方法调用的参数是100次调用中的最后一次的参数
C#中在一个窗体里调用另一个窗体的方法;C#不同窗体方法调用
QT在Ubuntu系统的开发,由于Linux系统不支持dll文件,而是支持so文件,因此,需要生成so文件从而能够被qt在Linux系统的调用,还望各位博友多多支持
C# 调用DLL文件C# 调用DLL文件C# 调用DLL文件C# 调用DLL文件C# 调用DLL文件C# 调用DLL文件C# 调用DLL文件
讲叙在嵌入式系统中,在c文件中如何调用c++文件中的函数的方法,并且还着重讲叙了c++文件中编写可以被c文件中调用函数的规则及方法。