Ho bisogno di eseguire un comando da un programma. La riga di comando è ok, l'ho provata nel terminale, ma non funziona nel programma.Reindirizzamento con Runtime.getRuntime(). Exec() non funziona
aggiungo una copia dal mio codice:
File dir = new File("videos");
String[] children = dir.list();
if (children == null) {
// Either dir does not exist or is not a directory
System.out.print("No existe el directorio\n");
} else {
for (int i=0; i<children.length; i++) {
// Get filename of file or directory
String filename = children[i];
//Recojo el momento exacto
System.out.print("\n" +filename);
Process p = Runtime.getRuntime().exec("exiftool -a -u -g1 -j videos/"+filename+">metadata/"+filename+".json");
}
Il programma deve ottenere il nome di tutti i file in una cartella (nome del file) ed estrarre i metadati di video theese, li scrivendo su un .json file nella cartella "metadati".
Dov'è il problema?
A proposito - evitare di dire "non funziona". Questo non fornisce a nessuno alcuna informazione su cui andare avanti (anche se in questo caso ha funzionato). Invece, dovresti dare i messaggi di output/errore che ti hanno fatto pensare che qualcosa non andasse. Se necessario, dovresti anche chiarire che cosa * ti aspetti * che accada, e che cosa * effettivamente * sia successo (evidenziando dove erano diversi). –