将 .txt 文件中的每一行与 Java 中的数组字符串进行比较

Compare each line in a .txt file to a array String in Java

public static boolean checkChecksum(String filePath, String checksumPath) throws Exception{
    File file = new File(filePath);
    File checksum1 = new File(checksumPath);
    try {
        ZipFile zipFile = new ZipFile(file);     
        Enumeration e = zipFile.entries(); 
        while(e.hasMoreElements())  {
            ZipEntry entry = (ZipEntry)e.nextElement(); 
            String entryName = entry.getName();
            long crc = entry.getCrc();
            String current_crc = crc+"";
    }
    zipFile.close();
    return true;
    }       
    catch (IOException ioe) {
        log.debug("Zip file may be corrupted");
        System.out.println("Error opening zip file" + ioe);
        return false;
    } 
}

我想将 checksum1 文件中的每一行与我从 file.zip.

获得的每个字符串值 current_crc 进行比较

我该怎么做?在从另一台电脑移动到另一台电脑后,我是否有其他解决方案来检查 zip 文件中的文件。

whether I have other solution to check files inside a zip file after moving from other to another PC.

通常我们使用散列校验和来检查文件的完整性 - 它们效率更高并且几乎同样可靠。示例:

MessageDigest digest = MessageDigest.getInstance("SHA-256");
byte[] hash = digest.digest(data);

此代码从输入字节[](数据)生成一个小字节[]。要检查 zip 文件,从原始 zip 创建哈希并检查复制的 zip 的哈希是否相同就足够了。您可以使用 Arrays.equals() 方法,也可以将字节数组转换为 Base64 字符串以便于阅读。

有趣的事实:两个 256 位哈希匹配的机会大致相当于第一次尝试正确猜测 49 个字符长的字母数字密码。