1

这些天我正在准备OCPJP7考试。我有两个问题并接受答案。第一个与java有关,另一个与考试成绩有关。

import java.nio.file.*;
class Test13{
   public static void main(String arfd[]){

       Path a = Paths.get("D:\\OCPJP7\\programs\\..\\NIO2\\SRC\\.\\Subpath.java");
       a=a.normalize();
       System.out.println(a);

   }

}
  1. 根据上面的代码段,我预计输出为“<strong>D:\OCPJP7\programs\NIO2\SRC\Subpath.java”,但事实并非如此。它提供了“<strong> D:\OCPJP7\NIO2\SRC\Subpath.java ”</p>

    据我所知 normalize() 从给定路径中删除任何冗余元素,包括单点和双点。那么为什么它会删除\programs\ 元素?

  2. 为了成为 Oracle Certified Professional, Java 7 Programmer,我们必须参加两门考试;

    OCA -JP(Oracle 认证助理,Java 7 程序员)。

    Java SE 7 程序员。

    据我所知,我们可以按任何顺序完成这两项考试。所以我打算先做 Java SE 7 程序员,然后再做 OCA。

    我的问题是,通过两项考试后,Oracle 会提供什么。他们是否为这两个考试提供两个证书?或两者的证书?还有什么?

4

1 回答 1

3

据我所知 normalize() 从给定路径中删除任何冗余元素,包括单点和双点。那么为什么它会删除 \programs\ 元素?

..指父目录。换句话说,/programs带你前进并/..带你回来。

Path#normalize()各州的 Javadoc

如果“..”前面有一个非“..”名称,则这两个名称都被认为是多余的(重复识别此类名称的过程,直到不再适用)。

所以\\programs\\..是多余的和删除的。

我无法回答你的第二个问题。

于 2014-04-09T05:10:18.400 回答