Java 比较两个任意文件是否相同

springboot 文件差异化对比以及可视化展示 springboot 文件差异化对比以及可视化展示。 阅读详情

一、比较规则

  1. 先比较两个文件的长度,如果不一样则文件肯定不一样。
  2. 否则将文件读取出来,一个字节一个字节的比较二者内容是否相同。
public class FileCompare {
    public static void main(String[] args) {
        System.out.println("请依次输入两个文件的全路径和文件名:");
        System.out.println("firstFile:");
        String firstFile = inputFileName();
        System.out.println("secondFile:");
        String secondFile = inputFileName();
        System.out.println("Start to compare ...");
        FileCompare fileCompare = new FileCompare();
        fileCompare.compareFile(firstFile, secondFile);
    }

    private static String inputFileName() {
        BufferedReader buffRead = new BufferedReader(new InputStreamReader(System.in));
        String fileName = null;
        try {
            fileName = buffRead.readLine();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return fileName;
    }

    private void compareFile(String firFile, String secFile) {
        try {
            BufferedInputStream fir = new BufferedInputStream(new FileInputStream(firFile));
            BufferedInputStream sec = new BufferedInputStream(new FileInputStream(secFile));
            //比较文件的长度是否一样
            if (fir.available() == sec.available()) {
                while (true) {
                    int firRead = fir.read();
                    int secRead = sec.read();
                    if (firRead == -1 || secRead == -1) {
                        System.out.println("two files are same!");
                        break;
                    } else if (firRead != secRead) {
                        System.out.println("Files not same!");
                        break;
                    }
                }
            } else {
                System.out.println("two files are different!");
            }
            fir.close();
            sec.close();
            return;
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

二、File 中的 length() 与IO中 InputStream 类中的 available()

1️⃣File 中的 length() 返回 long,表示文件的大小。
2️⃣IO 中 InputStream 类中的 available() 返回 int。表示该 inputstream 在不被阻塞的情况下一次可以读取到的数据长度。

Java课程设计 比较两个文件内容是否相同 运行前提:保存三个文本文件“text1.txt”、“text2.txt”、“text3.txt”到存放“IOOperation.java”的同一个文件夹中。其中两个文本文件内容相同,一个不同于其他两个。 运行方法:在命令行提示符模式下cd到“IOOperation.java”所 阅读详情

相关推荐

Java比较两个文件是否完全相同 JavaIO ApacheCommonIO Files.mismatch RandomAccessFile BufferedReader

原文链接:Compare the Content of Two Files in Java 1. Overview In this tutorial, we'll review different approaches to determine if the contents of two files are equal. We'll be using core Java Stream I/O libraries to read the contents of the files and imple

u011225581的专栏 1927

【Java SE】判断两个文件内容是否相同的多种方法

计算文件的哈希值(如 MD5、SHA-256 等),然后比较两个文件的哈希值。如果哈希值相同,则可以认为文件内容相同。这种方法适用于大文件,因为只需要比较哈希值而不是整个文件内容。Files;Path;

Hi there 6707

记录一下 Java 代码实现文件夹、文件的对比,主要包含 word、pdf、文本、图片等相关文件的对比计算,以及计算文本的相似率

记录一下 Java 代码实现文件夹、文件的对比,主要包含 word、pdf、文本、图片等相关文件的对比计算,以及计算文本的相似率(重复率)、筛选出差异的文件、方便文件和文档的去重,并封装为jar包

java文件比较_Java 比较两个任意文件是否相同

一、比较规则先比较两个文件的长度,如果不一样则文件肯定不一样。否则将文件读取出来,一个字节一个字节的比较二者内容是否相同。import java.io.*;public class FileCompare {public static void main(String[] args) {System.out.println("请依次输入两个文件的全路径和文件名:");System.out.prin...

weixin_28766581的博客 1119

手机拍照对焦快准狠的秘密:一文看懂PDAF、Dual Pixel和Super PD的区别

本文深入解析手机拍照中的三种主流相位检测自动对焦(PDAF)技术:Shield Pixel、Super PD和Dual Pixel。通过对比它们的原理、优缺点及实际表现,帮助读者理解不同技术的对焦速度、暗光表现和画质影响,从而做出更明智的购机选择。

weixin_26985923的博客 486

AI医疗影像诊断工具2025 完整教程

本教程所述工具均为辅助诊断设备,不可替代执业医师判断。部署使用需遵守当地医疗器械管理法规。推荐开源框架组合:代码太多打包上传网盘了 自行下载。2025年的AI医疗影像诊断工具将以。

m0_60084632的博客 2027

java判断两个文件是否相同

文章目录方式一:方式二: 方式一: 将文件一次性读入内存,然后通过MessageDigest进行MD5加密,最后再手动将其转换为16进制的MD5值。 /** * 计算文件的MD5值 * * @param file * @return */ public static String getFileMD5(File file) { if (!file.isFile()) { return null;

zhou_zhao_xu的博客 5899

MATLAB实战:手把手教你用三频四步相移法搞定结构光三维重建(附完整代码)

本文详细介绍了如何使用MATLAB实现三频四步相移法进行高精度结构光三维重建。通过光栅图像预处理、相位计算、多频外差与相位解包裹等步骤,结合完整代码示例,帮助读者掌握从二维图像到三维点云的关键技术。该方法在工业检测和逆向工程中具有抗干扰能力强、高分辨率和鲁棒性等优势。

weixin_29201933的博客 338

java比较两个list是否相同_Java判断两个List是否相同

1.利用Java中为List提供的方法retainAll()/*** 判断两个List内的元素是否相同* * 此方法有bug 见Food.class** @param list1* @param list2* @return*/private static boolean getDiffrent2(List list1, List list2) {long st = System.nanoTim...

weixin_39717318的博客 8963

【保研经验】北科自动化到北大工学院

作者:办公室某学长 谢邀。。。作为拖延症晚期患者,希望能在我科开学前写完。 先简单介绍一下我的保研过程,申请了清华叉院&北大叉院大数据&北大信科计算机夏令营,三者都没入营;申请了自所夏令营(自所来宣讲时未交简历,这是重大错误),给了第二批补录但没去;最终九推去了北大工学院。我的这次保研最终成功的经历可以说有一定运气成分,不具有普适性,但在前期准备过程中还是有经验可以分享的。 ...

ruanjianbu的博客 1795

再见 n8n?Google Opal 实测:一句话生成 APP,这才是 AI 的正确打开方式!

Google Opal深度评测:这款自然语言生成工作流的AI工具,通过三个实战案例(科技早报生成器、冰箱食谱助手、爆款文案转译机)展示了其零代码开发的强大能力。它凭借Gemini 3.0 Pro和Google生态的无缝集成,将自动化门槛降至新低,预示着一个“意图驱动开发”的新时代。

莫潇羽的个人博客 848

比较两个list集合是否相同

比较两个list集合是否相同 1.主要比较两个list中的元素,以及list的长度 2. list集合是有序的,并且list集合里的元素可以重复,因为该集合体系有索引 3.所以,list集合里元素可能有相同的,并且顺序可能不一样 第一种比较方法 下面展示一些 内联代码片。 package com.lrc.list; import java.util.ArrayList; import java...

chen的博客 2万+

educoder中Hive综合应用案例 — 用户搜索日志分析

Hive综合应用案例 — 用户搜索日志分析

weixin_46026136的博客 4760

比较两个对象中所有属性值是否相同

比较两个对象中所有属性值是否相同 /** * 比较两个实体属性值,返回一个boolean,true则表时两个对象中的属性值无差异 * @param obj1 进行属性比较的对象1 * @param obj2 进行属性比较的对象2 * @return 属性差异比较结果boolean */ public static boolean co...

爱谁谁博客 8031

四足机器人关节电机控制器实现(附C++代码)

本文先对做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。

qq_35635374的博客 461

【异常】OpenClaw LLM Request Timeout 超时问题的快速定位与落地解决

摘要:OpenClaw系统在执行任务时频繁出现"LLM request timed out"异常。通过分析发现主模型自动调度导致响应延迟,且缺乏超时配置兜底。解决方案包括:1)将主模型切换为低延迟的豆包2.0 Lite;2)保留豆包2.0 Pro和Kimi作为备用;3)重启Gateway服务验证。优化后系统响应速度显著提升,未再出现超时异常。后续建议增加显式超时配置、优化任务拆分和Prompt指令,并建立网络监控机制。(148字)

奶爸的编程之路,也就一周冷个三天 1158

Java中比较两个SET是否相同

java api中,好像没有发现比较两个set 的内容是否一样的方法,只能自己写一个来实现了,其实也比较简单,比较记录数是否一样,然后看内容是否一致, 测试的方法如下: public static boolean equals(Set<?> set1, Set<?> set2){ if(set1 == null || set2 ==null){//...

HD243608836的博客 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

java 怎么比较两个map 是否相同

给大家整理了一些有关【Java,AP】的项目学习资料(附讲解~~):https://edu.51cto.com/course/35714.htmlhttps://edu.51cto.com/course/19064.htmlJava中比较两个Map是否相同的方案 在Java中,Map是一种常用的数据结构,用于存储键值对...

weixin_41838656的博客 558

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

比较两个文件内容是否相同

/* 判断两个文件的内容是否相同,文件名要用绝对路径 * @param fileName1 :文件1的绝对路径 * @param fileName2 :文件2的绝对路径 * @return 相同返回true,不相同返回false */ public boolean isSameFile(String...

datai3890的博客 2187

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

JAVA比较两个数组中的元素是否相同

import java.util.Arrays;         public class Test {                 /**                  * Java比较两个数组中的元素是否相同                  */                 public static void main(String[] args) { St

xiaoqiang21007的专栏 2934

java 比较两个文件是否相同

采用的策略:1)先比较两个文件的长度,如果不一样则文件肯定不一样                          2)如果文件一样长则将文件读取出来一个字节一个字节的比较他们的内容是否相同 代码: package file; import java.io.BufferedInputStream; import java.io.BufferedReader; import ja

oliveevilo的专栏 5702

JAVA -比较两个实体中相同属性名的值是否相同,有返回值

/** * 获取两个对象同名属性内容不相同的列表 * @param class1 对象1 * @param class2 对象2 * @return * @throws ClassNotFoundException * @throws IllegalAccessException */ public static List<Map<String, Object>> compareTwoClass(Obje.

qq_44257753的博客 2196

两个字符串比较是否有相同内容

如何查找两个字符串中是否有相同的部分,比如说存在两个字符串? 例:

weixin_43163515的博客 4248

java 定义一个方法,用于比较两个int数组的数字是否相同

定义一个方法,用于比较两个int数组的数字是否相同 分析: 1、定义方法: 方法的返回值为boolean类型 参数为两个数组(int[] arr1,int[] arr2) 2、比较数组长度是否一样; 3、使用for循环比较数组内容 3.1、声明boolean类型变量flag,初始值设为true 3.2、如果不同把flag赋值false,break跳出循环 public class Test03 { public static void main(String[] a

雁迟的博客 4103

JAVA比较两个数组中是否存在相同元素,并且取出相同元素(以两个String[]数组为例)

/** * 比较两个字符串数组的是否存在相同内容,并对相同内容以数组形式返回 * @param orgnElecAreaIdArr * @param chekElecAreaIdArr * @return */ private String[] compareTwoArraySame(String[] arr1, String[] arr...

qq_42755868的博客 3470

java list 比较_java 怎么比较两个list是否相同

判断两个list集合的元素个数是否相等。如果不相等则两个list集合也不相等,判断结束,32313133353236313431303231363533e58685e5aeb931333365643661如果相等则进入第二步判断判断list1的元素是否全部在list2中。遍历list1,取出list1中的元素,依次去list2中比较是否list2也存在这个元素。如果有任何一个list1中的元素在l...

weixin_39830313的博客 3985
上一篇: Java 发送邮件
下一篇: aeasyexcel 操作 Excel
JFS_Study
博客等级 码龄6年 363粉丝 359原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JFS_Study

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值