1

最近はOCPJP7試験の準備をしています。2 つの質問があり、回答を受け入れました。1 つは Java に関連するもので、もう 1 つは試験の成績に関するものです。

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 になるには、2 つの試験を受ける必要があります。

    OCA -JP (オラクル認定アソシエイト、Java 7 プログラマー)。

    Java SE 7 プログラマー。

    私が知っているように、両方の試験は任意の順序で達成できます。したがって、最初に Java SE 7 プログラマー、次に OCA を行う予定です。

    私の質問は、両方の試験に合格した後、オラクルが提供するものです。両方の試験に 2 つの証明書を提供していますか? または両方の1つの証明書?そして他に何か?

4

1 に答える 1

3

私が知っているように、 normalize() は、単一のドットと二重のドットを含む、指定されたパスから冗長な要素を削除します。では、なぜ \programs\ 要素を削除するのでしょうか?

..親ディレクトリを参照します。つまり、/programsあなたを前進させ、/..後退させます。

Path#normalize()状態の Javadoc

「..」の前に「..」以外の名前がある場合、両方の名前が冗長であると見なされます (そのような名前を識別するプロセスは、適用できなくなるまで繰り返されます)。

冗長\\programs\\..であり、削除されます。

2 番目の質問にはお答えできません。

于 2014-04-09T05:10:18.400 に答える