简体   繁体   中英

Is there a way to check for existence of a folder in pentaho?

我知道有一个“检查文件夹是否为空”,但它不会检查该文件夹的存在。

But to use it in Pentaho is more complicated. When creating a Job rather than a transform, straight Java is not directly available (that I know of). The good news is PDI's JavaScript interpreter is Rhino. That means all Java's objects and classes are available to JavaScript. As such the check is pretty easy.

Add a variable or parameter in your job and call it something like dirpath and give it a path to evaluate. Then add a JavaScript step to the job and add put the following code in it:

dirpath = parent_job.getVariable("dirpath");
fileobj = new java.io.File(dirpath);
fileobj.isDirectory();

Control will flow down the Success or Failure paths from this step based on the truth of the last line.

Pentaho will likely add that capability to their Check if File Exists step soon, but in the mean time, this will work. OTOH, might be another good example of a custom plugin that could be written.

The isDirectory() method of the File Object should do, what you need.

The Api writes:

Returns: true if and only if the file denoted by this abstract pathname exists and is a directory; false otherwise

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

在作业级别,您可以使用“检查文件是否存在”步骤来检查文件的存在但文件夹也是如此。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM