我的java程序的JAR文件中有一个.csv数据库文件.在我打包之前,该程序在NetBeans IDE中运行良好,但是一旦我这样做,它就会拒绝相信文件在其中,即使我打印出它正在查看的路径并解压缩JAR以确保我告诉它寻找合适的地方.我如何让Java看到这个?
try
{
String path = Main.class.getResource("/items.csv").getPath();
db = new java.io.File(path);
loadValues(db);
}
catch (java.io.FileNotFoundException ex1)
{
System.out.println("Could not find database file (" + ui.db + ").");
}
Run Code Online (Sandbox Code Playgroud)
不要File为资源创建对象,因为可能没有File.A 仅File代表文件系统上的"真实"文件.就操作系统而言,.jar文件中的"文件"只是一些字节.
您需要使用它getResourceAsStream()来获取InputStream并读取它.