无法通过Java运行命令,但可以通过cmd运行它CreateProcess error = 2,系统找不到指定的文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法通过Java运行命令,但可以通过cmd运行它CreateProcess error = 2,系统找不到指定的文件相关的知识,希望对你有一定的参考价值。
我无法将我的mp3转换为wavs,以便使用Java更轻松地进行数据操作。我可以打开命令提示符并在调试时复制存储在s中的确切字符串,这将正确创建wav文件。代码如下。通过这种方式构建字符串,我可以使用ffmpeg将几个mp3分成基于轨道列表的单独轨道。我重新安装了Windows 10,所以我假设它与此有关。我必须改变一个设置吗?为什么它会在命令提示符下运行,而不是在Java中运行?
package mp3towav;
import java.io.File;
import java.io.IOException;
public class Mp3towav {
// mp3 folder
public static final String MP3FOLDER = "C:\Users\Al\Documents\Sounds\PokemonOST\YellowOST\MP3";
public static void main(String[] args) throws IOException {
// Gets the mp3 files and converts them to wav
File mp3folder = new File(MP3FOLDER);
String[] mp3s = mp3folder.list();
File f;
String s;
for(int i = 0; i < mp3s.length; i++) {
f = new File(mp3s[i]);
s = ("ffmpeg -i " + MP3FOLDER + "\" + f.getName() + " " + (MP3FOLDER + "\" + f.getName()).replaceAll("MP3", "WAV").replaceAll("mp3", "wav"));
Runtime.getRuntime().exec(s);
System.out.println("test");
}
}
}
编辑:
所以我从来没有让Java使用PATH,而是添加了Java中ffmpeg可执行文件的绝对路径。
答案
我必须添加包含ffmpeg.exe的bin的完整路径,而不是让Java依赖于Windows中的PATH变量,即使ffmpeg在CMD窗口中正常工作。
以上是关于无法通过Java运行命令,但可以通过cmd运行它CreateProcess error = 2,系统找不到指定的文件的主要内容,如果未能解决你的问题,请参考以下文章
请问:在windows下双击.jar文件无法运行,但cmd下-jar命令可以运行
编译没问题,cmd下运行java类文件时,提示:找不到或无法加载主类