1

「フォルダーが空かどうかを確認する」があることは知っていますが、フォルダーの存在を確認しません。

4

3 に答える 3

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 つの良い例かもしれません。

于 2013-07-06T00:11:29.013 に答える
1

オブジェクトのisDirectory()メソッドは、必要なことを行う必要があります。File

Api は次のように書いています。

戻り値: この抽象パス名が示すファイルが存在し、ディレクトリである場合にのみ true 。それ以外の場合は false

--> http://docs.oracle.com/javase/6/docs/api/java/io/File.html#isDirectory%28%29

于 2013-07-05T14:21:48.383 に答える
0

ジョブレベルでは、「ファイルが存在するかどうかを確認する」ステップを使用して、ファイルだけでなくフォルダーの存在も確認できます。

于 2013-07-08T10:58:18.023 に答える