首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试访问.wav文件时的java.io.FileNotFoundException (不是目录)

尝试访问.wav文件时的java.io.FileNotFoundException (不是目录)
EN

Stack Overflow用户
提问于 2014-02-19 23:59:26
回答 1查看 4.5K关注 0票数 4

这与我之前的问题有关,因为它是相同的场景,只是更进一步。

我有一个名为Sample的测试类,它是来自musicg库的Wave对象的简单包装器:

代码语言:javascript
复制
import com.musicg.wave.Wave;

public class Sample {

    private String filename;
    private Wave wave;
    private WaveHeader waveheader;

    public Sample(String filename) {
        this.filename = filename;
        wave = new Wave(this.filename);
        waveheader = wave.getWaveHeader();
    }
}

我试图通过向构造函数传递绝对路径来初始化Sample对象。这在Eclipse中是有效的。但是,一旦我导出了一个可运行的Jar文件,我就会在传递包含在Jar文件中的.wav文件的路径时得到一个java.io.FileNotFoundException。下面是我得到的结果:

代码语言:javascript
复制
java.io.FileNotFoundException: /Users/stas/Documents/java/workspace/EclipseTest/EclipseTest.jar/ORGCSDH1.wav (Not a directory)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:120)
    at java.io.FileInputStream.<init>(FileInputStream.java:79)
    at com.musicg.wave.Wave.<init>(Wave.java:60)
    at stm.vst.test.Sample.<init>(Sample.java:14)
    at stm.vst.test.Test.populateSamples(Test.java:70)
    at stm.vst.test.Test.main(Test.java:14)

让我感到困惑的是(Not a directory)部分。这不是很有帮助,因为很明显它也不应该是一个目录。这与“找不到文件”异常不同。文件在那里是可以验证的。

我应该指出的是,我对runnable Jar文件还不熟悉,所以我确信我遗漏了一些非常简单的东西。

EN

回答 1

Stack Overflow用户

发布于 2014-02-20 00:29:03

当资源打包到jar文件中时,它们不能作为文件在硬盘上使用,而只能作为资源使用;请遵循Java Images not drawn when running java -jar以及How do I convert a "jar:file" URI to the path of Jar file?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21885764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档