Bonjour,
J'essaye de récupérer les infos d'un média avec mediainfo (installation cli)
J'utilise ce code
mais mon fichier t.txt reste vide. La commande fonctionne car lorsque j'ouvre une fenetre terminal et que je tape
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 public static void main(String[] args) throws IOException, InterruptedException { boolean isWindows = System.getProperty("os.name") .toLowerCase().startsWith("windows"); try{ ProcessBuilder builder = new ProcessBuilder(); if (isWindows) { builder.command("cmd.exe", "/c", "dir"); } else { builder.command("sh", "-c", "cd /Users/sebv/Downloads && mediainfo foo.mkv >>t.txt"); } builder.directory(new File(System.getProperty("user.home"))); Process process = builder.start(); StreamGobbler streamGobbler = new StreamGobbler(process.getInputStream(), System.out::println); Executors.newSingleThreadExecutor().submit(streamGobbler); int exitCode = process.waitFor(); assert exitCode == 0; }catch (Exception e) { System.out.println(e.toString()); } } private static class StreamGobbler implements Runnable { private InputStream inputStream; private Consumer<String> consumer; public StreamGobbler(InputStream inputStream, Consumer<String> consumer) { this.inputStream = inputStream; this.consumer = consumer; } @Override public void run() { new BufferedReader(new InputStreamReader(inputStream)).lines() .forEach(consumer); } }j'ai bien toutes les infos dans mon fichiers t.txt.
Code : Sélectionner tout - Visualiser dans une fenêtre à part cd /Users/sebv/Downloads && mediainfo foo.mkv >>t.txt
Quand je remplace la commandepar
Code : Sélectionner tout - Visualiser dans une fenêtre à part cd /Users/sebv/Downloads && mediainfo foo.mkv >>t.txt
dans mon fichier t.txt il y a bien rempli avec tout les éléments.
Code : Sélectionner tout - Visualiser dans une fenêtre à part cd /Users/sebv/Downloads && ls >>t.txt
Si quelqu'un a une petite idée.
Merci
Partager