代码之家  ›  专栏  ›  技术社区  ›  OmerGertel

如何在Pentaho中使用修改后的javascript删除文件夹?

  •  2
  • OmerGertel  · 技术社区  · 14 年前

    我试图删除一个文件夹使用修改后的javascript在Pentaho,但是 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得到一个编译错误。

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

    有什么建议如何克服使用保留字吗?

    1 回复  |  直到 14 年前
        1
  •  2
  •   Adam Adriaan Stander    14 年前

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

    1、更好:

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

    2、更容易:

    在修改后的Java脚本值步骤中使用反射(在勺子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);