欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

jdk12 jdk1.8_JDK 12的Files.mismatch方法

发布时间:2023/12/3 编程问答 44 豆豆
生活随笔 收集整理的这篇文章主要介绍了 jdk12 jdk1.8_JDK 12的Files.mismatch方法 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

jdk12 jdk1.8

JDK 12向Files类引入了一种新方法。 方法Files.mismatch(Path,Path)已通过JDK-8202302引入JDK 12,并在JDK 12 Early Access Build 20 (支持新{@systemProperty} Javadoc标记的相同早期访问版本)中可用 。

JDK-8202302 [“用于比较文件的(fs)New Files.mismatch方法”]添加了Files.mismatch(Path,Path)方法“以比较两个文件的内容以确定它们之间是否存在不匹配”,并且可以用于确定“两个文件是否相等”。 曾经有一次添加File.isSameContent()方法的讨论 ,但是由于它与“ Arrays.mismatch和Buffer.mismatch方法”的一致性,因此决定使用Files.mismatch(Path,Parh) 。

下一个代码清单包含一个简单的Java类,该类演示了新的Files.mismatch(Path,Path)并将其与Files.isSameFile(Path,Path)进行对比。

package dustin.examples.jdk12.files;import java.nio.file.Files; import java.nio.file.Path;import static java.lang.System.out;/*** Demonstrate {@code Files.mismatch(Path,Path)} introduced with JDK 12* and useful for determining if two files have the same content even* if they're not the same files.*/ public class FilesDemo {public static void main(final String[] arguments) throws Exception{if (arguments.length < 2){out.println("USAGE: FilesDemo <file1Name> <file2Name>");return;}final String file1Name = arguments[0];final Path file1Path = Path.of(file1Name);final String file2Name = arguments[1];final Path file2Path = Path.of(file2Name);out.println("\nFiles '" + file1Name + "' and '" + file2Name + "' are "+ (Files.isSameFile(file1Path, file2Path) ? "the" : "NOT the")+ " same.\n\n");out.println("\nFiles '" + file1Name + "' and '" + file2Name + "' are "+ (Files.mismatch(file1Path, file2Path) == -1 ? "the" : "NOT the")+ " same content.\n\n");} }

当针对各种文件组合执行上述代码时,它将提供在下表中捕获的结果。

文件关系 Files.isSameFile(Path,Path) Files.mismatch(Path,Path)
同一文件 true true
复制的文件 false true
不同的文件 false false
软链接 true true
硬连结 true true

添加Files.mismatch(Path,Path)是完成JDK-6852033 [“使常见的I / O任务更容易执行的输入/输出方法”]的又一个步骤,它使确定不属于该文件的两个文件的时间更加容易。相同文件仍然“相等”或具有相同内容。

翻译自: https://www.javacodegeeks.com/2018/11/jdk-12s-files-mismatch-method.html

jdk12 jdk1.8

创作挑战赛新人创作奖励来咯,坚持创作打卡瓜分现金大奖

总结

以上是生活随笔为你收集整理的jdk12 jdk1.8_JDK 12的Files.mismatch方法的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。