Я хочу запустить сценарий оболочки внутри класса обслуживания часов, чтобы запустить оболочку после добавления нового файла в папку. Служба просмотра работает отлично, но когда я хочу добавить Runtime.getRuntime().exec("home/user/test.sh")
; Я получил ошибку. Я просто добавить Время воспроизведения после этого:Запустить оболочку внутри службы часов в java
// Dequeueing events
Kind<?> kind = null;
for(WatchEvent<?> watchEvent : key.pollEvents()) {
// Get the type of the event
kind = watchEvent.kind();
if (OVERFLOW == kind) {
continue; //loop
} else if (ENTRY_CREATE == kind) {
// A new Path was created
Path newPath = ((WatchEvent<Path>) watchEvent).context();
// Output
System.out.println("New path created: " + newPath);
Runtime.getRuntime().exec("home/user/test.sh")
Что я должен делать?
какая версия java вы используете? также действительно действительно неправильно, что вы сделали, по какой-либо причине, почему нельзя вызвать сценарий оболочки из кода? – jgr208
Я использую java версию 1.7. Я знаю, что это неправильно. в буквальном смысле я не знаю, что мне делать. Но требование состоит в том, что я должен наблюдать за одной папкой, когда добавляется новый файл, запускать определенный скрипт в командной строке – Aira
. Я уверен, что java имеет API-интерфейс просмотра папок, который вы не используете. И снова есть ли какая-то причина, по которой вы не можете положить этот скрипт в систему и позвонить из кода? – jgr208