Как удалить папку, используя модифицированный JavaScript в Pentaho?

StackOverflow https://stackoverflow.com/questions/3850269

  •  27-09-2019
  •  | 
  •  

Вопрос

Я пытаюсь удалить папку, использующую модифицированный JavaScript в Пентахо, однако delete Ключевое слово зарезервировано Compiler 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();

И я получаю ошибку компиляции из пентахо.

Я попробовал deletefile в папку, но, по-видимому, deletefile не может удалить папку.

Любые предложения Как преодолеть использование зарезервированного слова?

Это было полезно?

Решение

Для вашей проблемы 2 решения:

1.: ЧЕМ ЛУЧШЕ:

Создайте работу, импортируйте текущее преобразование в работу. В преобразовании установите имя папки как переменная, в работе используйте переменную в Удалить папки шаг.

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);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top