如何在Pentaho中使用Modified Javascript删除文件夹?

时间:2010-10-03 15:04:13

标签: pentaho

我正在尝试使用Pentaho中的Modified Javascript删除文件夹,但delete关键字由PDI编译器保留(用于从内存中删除变量)。

这就是我的所作所为:

var source = new java.io.File("some path");
var files = source.list();
for (var i=0; i<files.length; i++) {
    deleteFile(oldpath + "/" + filename); // empty folder from files, works okey
}
source.delete();

我从Pentaho那里得到了编译错误。

我在文件夹上尝试了deleteFile,但显然deleteFile无法删除文件夹。

有关如何克服使用保留字的任何建议吗?

1 个答案:

答案 0 :(得分:2)

您的问题有两种解决方案:

1:更好:

创建作业,将当前转换导入作业。在转换中将文件夹名称设置为variable,在作业中使用delete folders步骤中的变量。

2:更容易:

在Modified Java Script Value步骤中使用反射(在Spoon 4.0.1中测试):

var source = new java.io.File("D:\\testdel");
var fileClass = source.getClass();
var delMethod = fileClass.getMethod("delete", null);
delMethod.invoke(source, null);