2

我正在尝试在 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 无法删除文件夹。

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

4

1 回答 1

2

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

1.:更好:

创建一个工作,将您当前的转换导入工作。在转换中将文件夹名称设置为变量,在作业中使用删除文件夹步骤中的变量。

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);
于 2010-10-04T09:44:52.413 回答