这几天正在准备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);
}
}
根据上面的代码段,我预计输出为“D:\OCPJP7\programs\NIO2\SRC\Subpath.java” 但事实并非如此。它提供了“D:\OCPJP7\NIO2\SRC\Subpath.java”
据我所知,normalize() 会从给定路径中删除任何冗余元素,包括单点和双点。那为什么要删除 \programs\ 元素呢?
要成为 Oracle 认证专家,Java 7 程序员,我们必须参加两门考试;
OCA -JP(Oracle 认证助理,Java 7 程序员)。
Java SE 7 程序员。
据我所知,我们可以按任何顺序完成这两项考试。所以我打算先做 Java SE 7 程序员,然后再做 OCA。
我的问题是在通过两门考试后,Oracle 会提供什么。 他们是否为两次考试提供两个证书?还是两者都有一个证书?还有别的吗?
最佳答案
As I know normalize() removes any redundant elements from the given path including single dot and double dot. Then why it removes \programs\ element?
..
指的是父目录。换句话说,/programs
带你前进,/..
带你返回。
Path#normalize()
的 Javadoc州
If a ".." is preceded by a non-".." name then both names are considered redundant (the process to identify such names is repeated until it is no longer applicable).
所以 \\programs\\..
是多余的并已删除。
我无法回答你的第二个问题。
关于Java Path接口(interface)和OCPJP7考试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22953222/