Necesito ejecutar un comando desde un programa. La línea de comandos está bien, lo intenté en la terminal, pero no funciona en el programa.Redirección con Runtime.getRuntime(). Exec() no funciona
agrego una copia de mi código:
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");
}
El programa debe obtener el nombre de todos los archivos en una carpeta (nombre de archivo) y extraer los metadatos de vídeos theese, escribiendo sobre una .json archivos en la carpeta 'metadata'.
¿Dónde está el problema?
Por cierto, evite decir "no funciona". Esto no le da a nadie ninguna información para seguir (aunque en este caso funcionó). En su lugar, debe dar los mensajes de salida/error que obtuvo que le hicieron pensar que algo andaba mal. Si es necesario, también debe aclarar qué * esperó * que suceda, y qué sucedió * realmente (resaltando dónde eran diferentes). –