gpt4 book ai didi

Java 应用程序在 Netbeans 中将其构建为 .jar 后找不到文件?

转载 作者:行者123 更新时间:2023-12-01 16:16:03 26 4
gpt4 key购买 nike

我编写了一个显示图像和播放声音的应用程序。这就是为什么它需要从项目的 src 文件夹中名为“recources”的文件夹加载图像和声音。

对于图像,我使用以下代码加载 png,然后显示它我的框架:

ImageIcon img = new ImageIcon(getClass().getResource("/recources/img.png"));

这对于在 Netbeans 内运行应用程序以及将其构建到 jar 中后也运行良好。

声音正在加载,如下所示:

public Sound(){

try
{

File audiodata = new File("/recources/audio.wav");
if(audiodata.exists()){
audioInput = AudioSystem.getAudioInputStream(audiodata);

clip= AudioSystem.getClip();
clip.open(audioInput);
clip.start();

}
}
catch(Exception e){
e.printStackTrace();
}
}

这也在 Netbeans 中工作,但在完成的 jar 不行。--> 空指针异常

我的代码需要更改什么?

还有什么不起作用:

我还想使用以下代码加载带有 jdbc 驱动程序的 sqllite 数据库:

public void getConnection() {
try {
Class.forName("org.sqlite.JDBC");
} catch (ClassNotFoundException ex) {
Logger.getLogger(Lagerverwaltung.class.getName()).log(Level.SEVERE, null, ex);
}
try {
Connection con = DriverManager.getConnection("jdbc:sqlite:recources/database.db");
} catch (SQLException ex) {
Logger.getLogger(Lagerverwaltung.class.getName()).log(Level.SEVERE, null, ex);
}

}

它有同样的问题,当我在 Netbeans 中运行它时,它找到数据库,但在构建的 jar 中找不到数据库。

我将资源文件夹作为源添加到我的项目属性中。

最佳答案

尝试将声音类别更改为:

public Sound(){

try
{

File audiodata = new File(this.getClass().getResourceAsStream("/recources/audio.wav").toString());
if(audiodatei.exists()){
audioInput = AudioSystem.getAudioInputStream(audiodata);

clip= AudioSystem.getClip();
clip.open(audioInput);
clip.start();

}
}
catch(Exception e){
e.printStackTrace();
}
}

并获取连接到:

public void getConnection() {
try {
Class.forName("org.sqlite.JDBC");
} catch (ClassNotFoundException ex) {
Logger.getLogger(Lagerverwaltung.class.getName()).log(Level.SEVERE, null, ex);
}
try {
Connection con = DriverManager.getConnection("jdbc:sqlite:"+this.getClass().getResourceAsStream("/recources/database.db").toString());
} catch (SQLException ex) {
Logger.getLogger(Lagerverwaltung.class.getName()).log(Level.SEVERE, null, ex);
}

}

刚刚更改了文件的访问方式。希望它有效。告诉结果。

关于Java 应用程序在 Netbeans 中将其构建为 .jar 后找不到文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62388433/

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