当前位置: 首页 > 知识库问答 >
问题:

在eclipse中找到文件,但在终端中运行. jar时找不到

李新霁
2023-03-14

我有一个程序,必须从终端界面播放声音。

代码相当简单,如下所示:

public static synchronized void playSound() {
    new Thread(new Runnable() {
        public void run() {
            File _file = new File("music/sound.wav");

            try (AudioInputStream _audio = AudioSystem
                    .getAudioInputStream(_file)) {
                Clip _clip = AudioSystem.getClip();
                _clip.open(_audio);
                _clip.start();
            } catch ([…] e) {
                // […]
            }
        }
    }).start();        
}

该文件位于“我的源路径”中的“音乐”文件夹中。

当我在eclipse中运行程序时,所有工作都非常好。但是如果我将其导出到. jar文件中并在windows cmd中尝试它,我会收到这条消息

java.io.FileNotFoundException: music\sound.wav (The system cannot find the path specified)

[编辑]音频文件确实已打包到中。jar,但它仍然不起作用。

是否有可能播放来自windows提示符的声音?如果没有,是否有这样的声音?

谢谢SilverDuck

共有2个答案

计寒
2023-03-14

尝试不要将音乐打包到jar中(放在旁边),或者将打包的文件作为资源加载。

例如,请参见Java资源文件

这里加载包含在. Jar文件或类路径中的资源(图像)可能是一个更好的解释。

单于浩邈
2023-03-14

当文件打包成jar文件时,它不再是一个文件。需要将其作为资源读取。尝试这样更改代码

InputStream inputStream = this.getClass().getResourceAsStream("music/sound.wav");
 try (AudioInputStream _audio = AudioSystem.getAudioInputStream(inputStream)) {
 类似资料:
  • 问题内容: 因此,当我尝试从xcode终端构建代码时,它失败了,并给了我一个找不到“ Cordova / CDVViewController.h”文件的错误,但是当我从xcode进行构建时,它就可以了。 在我的Xcode中,我完成了整个Cordova子目录的事情Upgrade Cordova 。另外,当我运行列表。这是我在下面看到的: xcodebuild-列表 有关项目“ myProject”的

  • 我已经用java编程几个月了,我决定做一个雅达利突围风格的游戏。我现在已经完成了这个游戏,并希望它在Eclipse中成为一个可运行的jar文件,所以我转到文件-

  • 我试图在命令行中使用依赖项运行我的java类。我使用IntelliJ IDEA13从我的项目中构建工件。我有一个名为“main.java”的主类,在构建之后,我得到了一个类似MyTest.jar的jar文件。java的全限定名类似于“test.main” 但是当我试图使用“java mytest.jar”运行它时,它抱怨找不到主类mytest.jar。 ----Main.class --META-

  • 我有一个JAR文件,它在运行时输出一些东西到终端上。但是,当我双击JAR文件时,什么也没有发生,我的Mac告诉我检查控制台可能的错误,我什么也没有发现。 另一方面,从终端运行JAR工作正常,并且JAR按预期运行。 我正在使用IntelliJ构建我的JAR,我确信我的配置对于构建一个JAR文件是正确的。

  • 我一直试图提交一个简单的python脚本,以便在一个带有Yarn的集群中运行它。当我在本地执行作业时,没有问题,一切都很好,但当我在集群中运行它时,它就失败了。 诊断:文件不存在:hdfs://myserver:8020/user/josholsan/.sparkstaging/application_1510046813642_0010/test.py 我不知道为什么它找不到test.py,我也

  • 我在Windows10上安装WSL2时遵循了以下说明:https://docs.microsoft.com/en-us/windows/wsl/install-win10,手动安装。 所有的命令为我工作,但是在最后,当我打开wsl终端并键入时,我有响应。 我安装了Ubuntu 20.04 LTS,当我打开Ubuntu终端时,kubectl在那里工作。 Powershell表示已正确安装: 如何使d