如何使用Java运行文件?

ber*_*kiv 7 java audio

我需要能够使用Java运行.mp3文件,我试过这个,但无济于事:

Process process = new ProcessBuilder("C:\\Users\\<removed>\\Desktop\\Music\\Cash Cash\\Overtime.mp3")

然后跑

process.start();
Run Code Online (Sandbox Code Playgroud)

但是,它抛出了这个错误:

java.io.IOException: Cannot run program "C:\Users\<removed>\Desktop\Music\Cash Cash\Overtime.mp3": CreateProcess error=193, %1 is not a valid Win32 application
    at java.lang.ProcessBuilder.start(Unknown Source)
    at com.newgarbo.music.Mooseec.main(Mooseec.java:50)
Caused by: java.io.IOException: CreateProcess error=193, %1 is not a valid Win32 application
    at java.lang.ProcessImpl.create(Native Method)
    at java.lang.ProcessImpl.<init>(Unknown Source)
    at java.lang.ProcessImpl.start(Unknown Source)
    ... 2 more
Run Code Online (Sandbox Code Playgroud)

我认为这当然是因为a Process只适用于可执行文件/ jar,如果是,那么有人可以告诉我一种运行这些文件的方法吗?^ _ ^

Ell*_*sch 8

您可以使用Desktop.open(File)启动关联的应用程序来打开该文件.就像是,

File mp3 = new File("C:\\Users\\<removed>\\Desktop\\"
    + "Music\\Cash Cash\\Overtime.mp3");
Desktop.getDesktop().open(mp3);
Run Code Online (Sandbox Code Playgroud)

  • @bernhardkiv欢迎你.不是你问的,但是JavaFX [`MediaPlayer`](http://docs.oracle.com/javafx/2/api/javafx/scene/media/MediaPlayer.html)也应该允许你用纯Java来玩它码. (2认同)