「フォルダーが空かどうかを確認する」があることは知っていますが、フォルダーの存在を確認しません。
3 に答える
しかし、Pentaho で使用するのはもっと複雑です。変換ではなくジョブを作成する場合、ストレート Java を直接使用することはできません (私が知っていることです)。良いニュースは、PDI の JavaScript インタープリターが Rhino であることです。これは、すべての Java のオブジェクトとクラスが JavaScript で利用できることを意味します。そのため、チェックは非常に簡単です。
ジョブに変数またはパラメーターを追加し、それを次のように呼び出してdirpath
、評価するパスを指定します。次に、JavaScript ステップをジョブに追加し、次のコードを追加します。
dirpath = parent_job.getVariable("dirpath");
fileobj = new java.io.File(dirpath);
fileobj.isDirectory();
制御は、最後の行の真偽に基づいて、このステップから成功パスまたは失敗パスに流れます。
Pentaho はまもなくその機能を Check if File Exists ステップに追加する可能性がありますが、それまでの間、これは機能します。OTOH は、作成できるカスタム プラグインのもう 1 つの良い例かもしれません。
オブジェクトのisDirectory()
メソッドは、必要なことを行う必要があります。File
Api は次のように書いています。
戻り値: この抽象パス名が示すファイルが存在し、ディレクトリである場合にのみ true 。それ以外の場合は false
--> http://docs.oracle.com/javase/6/docs/api/java/io/File.html#isDirectory%28%29
ジョブレベルでは、「ファイルが存在するかどうかを確認する」ステップを使用して、ファイルだけでなくフォルダーの存在も確認できます。