gpt4 book ai didi

java - 将参数中的空格替换为运行命令

转载 作者:行者123 更新时间:2023-12-04 23:26:41 26 4
gpt4 key购买 nike

我正在使用 Runtime.getRuntime.exec(String) 用 ffmpeg 剪切一些歌曲。
但是,当我的歌曲的名称带有空格时,它就不起作用了...

所以在我切歌之前,我想用“\”替换我歌曲的每个空格。

我这样做了:

String in = directory+songs.get(i);
String out = directory+"trimed_"+songs.get(i);
in.replaceAll(" "," \\ ");
out.replaceAll(" ", "\\ ");
String str = "ffmpeg -t 1 -i "+in+" -vcodec copy "+out;
Runtime.getRuntime().exec(str);

但是当我打印 str 时它根本不会取代任何东西,我错过了什么吗?

更新 : 我尝试了下面给出的每一个想法,但我没有找到解决问题的方法。因此,我用“_”替换了空格,效果很好。

最佳答案

尝试

String in = directory+songs.get(i);
String out = directory+"trimed_"+songs.get(i);

/* in = in.replaceAll("\\s","\\\\ ");
out = out.replaceAll("\\s","\\\\ ");
*/

in = "\"" + in + "\"";
out = "\"" + out + "\"";

String str = "ffmpeg -t 1 -i " + in + " -vcodec copy " + out;
Runtime.getRuntime().exec(str);
System.out.println("Command executed " + str);

备注 :我自己测试了这段代码,它工作正常。
如果仍然无法正常工作,则通过复制 str 手动执行命令从日志和跟踪错误

关于java - 将参数中的空格替换为运行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43720550/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com