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,可能是另一个可以编写的自定义插件的好例子。

于 2013-07-06T00:11:29.013 回答
1

对象的isDirectory()方法File应该做的,你需要的。

Api 写道:

返回: true 当且仅当此抽象路径名表示的文件存在并且是目录时;否则为假

--> 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 回答