`
刘金剑
  • 浏览: 144786 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java判断两个文件的内容是否完全一样

    博客分类:
  • Java
阅读更多
文章转载url地址如下:
http://blog.csdn.net/c_mihoo/article/details/16119523
 
  /**
	   * 判断两个文件的内容是否相同,文件名要用绝对路径
	   * @param fileName1 :文件1的绝对路径
	   * @param fileName2 :文件2的绝对路径
	   * @return 相同返回true,不相同返回false
	   */
	public boolean isSameFile(String fileName1,String fileName2){
		FileInputStream fis1 = null;
		FileInputStream fis2 = null;
		try {
			fis1 = new FileInputStream(fileName1);
			fis2 = new FileInputStream(fileName2);
			
			int len1 = fis1.available();//返回总的字节数
			int len2 = fis2.available();
			
			if (len1 == len2) {//长度相同,则比较具体内容
				//建立两个字节缓冲区
				byte[] data1 = new byte[len1];
				byte[] data2 = new byte[len2];
				
				//分别将两个文件的内容读入缓冲区
				fis1.read(data1);
				fis2.read(data2);
				
				//依次比较文件中的每一个字节
				for (int i=0; i<len1; i++) {
					//只要有一个字节不同,两个文件就不一样
					if (data1[i] != data2[i]) {
						System.out.println("文件内容不一样");
						return false;
					}
				}
				System.out.println("两个文件完全相同");
				return true;
			} else {
				//长度不一样,文件肯定不同
				return false;
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {//关闭文件流,防止内存泄漏
			if (fis1 != null) {
				try {
					fis1.close();
				} catch (IOException e) {
					//忽略
					e.printStackTrace();
				}
			}
			if (fis2 != null) {
				try {
					fis2.close();
				} catch (IOException e) {
					//忽略
					e.printStackTrace();
				}
			}
		}
		return false;
	}

 

 

分享到:
评论

相关推荐

    java 判断两个文件是否相同

    NULL 博文链接:https://hw1287789687.iteye.com/blog/1827988

    Java比较两个mysql数据库表结构的差异

    一个简单JAVA 小工程进行两个MYSQL数据库对象的比较,导入eclipse中,修改jdbc.properties文件中的JDBC信息,然后直接运行action包类中的main方法,生成EXCEL,excel中包含表,表中列,索引,函数过程差异比对结果。...

    java读取excel多个sheet内容,用流的方式判断excel版本

    用poi读取excel多个sheet内容,用流的方式判断excel的版本,2003,还是2007版本,并附带所需jar包,文件下载后解压,直接导入eclipse中即可使用

    一个Java实用程序:用于比较任何两个zip文件的内容-开源

    一个Java实用程序,用于比较任何两个zip文件的内容。 它也可以用来比较EAR文件,WAR文件或JAR文件。

    Java实现zp大文件解压、合并、复制、删除(30万文件大约2个小时)

    2. 程序用log4j记录日志,日志分正常信息跟错误信息两个级别,日志文件存放在log4j文件夹下。考虑到文件很多,日志解压、移动文件每解压、移动1000个记录一次,合并、删除文件每合并、删除50000个记录一次, 3. 启动...

    java源码包---java 源码 大量 实例

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    JAVA上百实例源码以及开源项目

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    java-upload分片文件接收,分片文件合并。两种方式

    存储每一个分片文件,调用合并或程序判断是否最后一个分片自动合并 2. 接收到分片文件,同时追加到指定文件中。(接收分片文件的同时合并) 2、同时支持小文件接收 包含controller-service-domain-fileUtils 实战...

    java源码包4

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    java源码包3

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    java使用计算md5校验码方式比较两个文件是否相同

    MD5文件效验码是一个判断文件是否是相同文件的途径,通过比较两个文件的Md5效验码是否相同来精确判断两个文件是否相同

    java源码包2

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    java 编写文件上传类简单易用

    用 Java 编写的、协议和平台都独立的服务器端组件,使用请求/响应的模式,...第二步判断是否是一个文件数据段,如果是一个文件 数据段则 position[1] 应该大于0,并且 postion[1] 应该小于 postion[2] 即 position[1...

    比较两个目录下的文件是否相同

    Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine来执行这些编译好的byte code。这种机制的基本思想跟Java,.NET是一致的。

    JAVA上百实例源码以及开源项目源代码

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java右键弹出菜单源码 简单 Java圆形按钮实例代码,含注释 两个目标文件,自绘button。 Java圆形电子时钟源代码 1个目标文件 内容索引:JAVA源码,系统相关,电子钟 用JAVA编写的指针式圆形电子钟,效果图如下所示,...

    上传图片前判断文件格式与大小验证文件是不是图片

    验证文件类型,看看所选文件是不是图片: 代码如下: //文件类型: protected bool IsAllowableFileType(string FileName) { //从web.config读取判断文件类型限制 string stringstrFileTypeLimit; string

    Java开发技术大全(500个源代码).

    FileList.java 自己实现的一个文件名称枚举类 MyDataIO.java 数据输入输出示例 MyFileOutput.java 将键盘读入的文字保存到文件 MyPipedIO.java 管道流示例 MySequenceIn.java 顺序输入流示例 ObjectFileTest....

    Java获取文件分辨率,大小等基本信息Demo

    这个文件中包含测试的Demo和需要的jar包,Demo中有两种方式来获取视频的分辨率,大小等基本信息,简单易上手,亲测有效,没效你顺着网线过来da我

    java开源包4

    jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器支持运行PHP和其它fastcgi应用程序,将Servlet容器充当成一个FastCGI 的网关。...

Global site tag (gtag.js) - Google Analytics