从一个jar文件中读取一个文件,这个jar是使用netbeans生成的

Read a file from a jar file, the jar generated using netbeans

我有一个 java 项目,它应该读取外部文件夹中的文件。我在 class 中将文件路径指定为“../FolderName”。但是如果我从这个项目生成一个 jar 文件,它就无法读取该文件。在这种情况下定义文件夹路径的正确方法是什么?

将绝对路径作为程序参数传递给代码 (jar) 的正确方法。

java -jar myjar.jar abs_path

然后您可以在 class 的 main() 方法中访问绝对路径(在 JAR 的 manifest.mf 文件中提到),如下所示:

String filePath = args[0];

你应该使用 java.lang.Class.getResourceAsStream(String).

它从您的 JAR 中读取文件。

示例:

InputStream in = getClass().getResourceAsStream("/classpath/to/my/file");
BufferedReader input = new BufferedReader(new InputStreamReader(in));

很好的参考:How to read a file from a jar file?

InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("/classpath/toyourfile");