OCJP Gold SE 7 移行試験のポイント - その3 NIO.2 編 -

皆さま。こん**は。
前回に引き続きOCJP Gold SE 7 移行試験のポイントをご紹介していきます。

OCJP Gold SE 7 資格移行試験の試験範囲ではJava SE 7の新機能にも焦点が当てられています。今回はJava SE 7の新機能の一つであるNIO.2について説明します。

 NIO.2では、ファイルシステムアクセスのための包括的なAPIが提供されたことが特徴です。認定試験においてもPathクラスやFilesクラスを使用したファイル操作や、ファイル属性の取得方法などNIO.2で追加されたAPIの使用方法や、ファイル・ツリーの再帰的な探索やディレクトリの変更監視などNOI.2で新たに追加された機能を理解できているかが問われる問題が出題されています。 NOI.2に関する出題トピックの詳細はテスト内容チェックリスト をご確認ください。

例題:
次のコード断片があります。

1. Path path = Paths.get(uri);
2. Files.walkFileTree(path, new SimpleFileVisitor
() {
3.     @Override
4.     public FileVisitResult visitFile(Path path, BasicFileAttributes attrs) throws IOException {
5.         System.out.println(path);
6.         return FileVisitResult.CONTINUE;
7.     }
8. });


このコード断片の実行結果として正しいものはどれですか?


1. path配下のディレクトリ名とファイル名が出力される
2. path配下のディレクトリ名が出力される
3. path配下のファイル名が表示される
4. 何も出力されない


正解:
3. path配下のファイル名が表示される


解説:
NIO.2ではファイル・ツリーを探索するためのAPIとしてFileVisitorインタフェースが提供されています。Java SE 7ではFileVistorインタフェースを実装したSimpleFileVisitorクラスが提供されていますので、FileVisitorインタフェースの各メソッドをオーバーライドすることで任意の処理を行うことができます。

  • preVisitDirectory – ディレクトリのエントリがアクセスされる前に呼び出されます。
  • postVisitDirectory – ディレクトリのすべてのエントリがアクセスされた後に呼び出されます。 エラーが発生している場合は、特定の例外がこのメソッドに渡されます。
  • visitFile – ファイルにアクセスするときに呼び出されます。 ファイルのBasicFileAttributesがメソッドに渡されるので属性セットを読み取ることができます。
  • visitFileFailed – ファイルにアクセスできないときに呼び出されます。 エラーが発生している場合は、特定の例外がこのメソッドに渡されます。

SimpleFileVisitorクラスは、ツリー内のすべてのファイルにアクセスしてエラーが発生した場合は例外をスローします。例題ではvisitFileメソッドのみをオーバーライドしていますので、ファイルアクセスした際に5行目の出力処理が行われます。
なお、FileVisitorによるファイルの探索を開始する場合は、FilesクラスのwalkFileTreeメソッドを使用します。
ファイル・ツリーは深さ優先で探索されますが、複数のサブディレクトリにアクセスする反復処理の順序は推測できません。 



認定試験では、実はファイルI/Oは頻出項目です。各APIについてかなり細かいレベルまで理解できているかが問われるのでAPIドキュメントもあわせて確認しておくことをおすすめします。


おすすめ研修:
Java SE 7 New Features :
NOI.2をはじめとしたJava SE 7の新機能を把握したい方におすすめのコースです。

キャンペーン:
Upgrade to Java SE 7 Programmer(1Z0-805) 試験は既存のプログラマ資格(SJC-P, OCJ-P)をお持ちの方を対象としたJava SE 7資格への移行試験になります。今なら早期移行促進キャンペ��ンとして、試験を受験された方(合否は問いません!!)でお申込みいただいた方先着100名様に素敵な景品をさし上げております。


それではまた次回。

Comments:

Post a Comment:
Comments are closed for this entry.
About

Inside ORACLE MASTER - ORACLE MASTERに関連する最新情報をお届けします。

Search

Archives
« 4月 2014
  
1
2
3
4
5
6
7
8
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today