ITPub博客

首页 > 大数据 > 数据分析 > JDK 12的Files.mismatch方法

JDK 12的Files.mismatch方法

原创 数据分析 作者:Tybyq 时间:2018-11-22 18:35:14 0 删除 编辑

JDK 12为Files类引入了一种新方法。该   Files.mismatch(Path,Path)  方法已通过JDK-8202302引入JDK 12,并在JDK 12 Early Access Build 20中提供(同样的早期访问构建支持新的{@systemProperty} Javadoc标记)。

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

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


包 尘。例子。jdk12。档案 ;

导入 java。nio。档案。档案 ;
导入 java。nio。档案。路径 ;

import  static  java。郎。系统。出 ;

/ **
 *演示JDK 12引入的{@code Files.mismatch(Path,Path)}
 *用于确定两个文件是否具有相同的内容
 *如果他们不是相同的文件。
 * /
公共 类 FilesDemo
{
   public  static  void  main(final  String [] arguments)抛出 异常
   {
      if(参数。长度 <  2)
      {
         出。println(“USAGE:FilesDemo <file1Name> <file2Name>”);
         回归 ;
      }

      final  String  file1Name  =  arguments [ 0 ];
      final  path  file1Path  =  Path。of(file1Name);
      final  String  file2Name  =  arguments [ 1 ];
      final  path  file2Path  =  Path。of(file2Name);

      出。println(“\ nFiles'”  +  file1Name  +  “'和'”  +  file2Name  +  “'是”
         +(文件。isSameFile(file1Path,file2Path)? “的”:“不是”)
         +  “相同。\ n \ n”);
      出。println(“\ nFiles'”  +  file1Name  +  “'和'”  +  file2Name  +  “'是”
         +(文件。不匹配(file1Path,file2Path)==  - 1  ? “”“:”不是“)
         +  “相同的内容。\ n \ n”);
   }
}


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

文件关系  Files.isSameFile(Path,Path)Files.mismatch(Path,Path)

另外   Files.mismatch(Path,Path) 一个步骤是完成JDK-6852033 [“输入/输出方法使常见的I / O任务变得容易”],并且更容易确定两个不同文件的文件何时仍然“相等”或者拥有相同的内容。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31557424/viewspace-2221270/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-10-31

  • 博文量
    206
  • 访问量
    212173