我的情况是我在jar中捆绑了一个txt文件和java文件。我正在从java中读取txt文件,该文件只捆绑在jar中。
在读取文件时,在Java中获取FileNotFoundException
以及将txt文件放在jar中的同一文件夹中。
我从测试类示例代码中调用此Java方法。
public static void loadtxtfile(){
try {
InputStream in =
Utils.class.getClassLoader().getResourceAsStream("sample.txt");
File f = new File(JetUtils.class.getClassLoader().getResource("dd.js").getFile());
//OJetBase.class.getClassLoader().getResourceAsStream("logging.properties");
BufferedReader input = new BufferedReader(new FileReader(js_filepath));
StringBuffer buffer = new StringBuffer();
while ((text = input.readLine()) != null)
buffer.append(text + "\n");
java_script = buffer.toString();
}
测试电话 - Utils.loadtxtfile()
;
我尝试了所有选项。
答案 0 :(得分:0)
您无法将jar文件中的资源作为java.io.File对象读取,因为它们不存在于文件系统中。只需使用java.lang.Classloader.getResourceAsStream(String name):
Reader inputStreamReader = new InputStreamReader(
JetUtils.class.getClassLoader().getResourceAsStream("dd.js"));
BufferedReader jsReader = new BufferedReader(inputStreamReader);
StringBuilder javascript = new StringBuilder();
String input;
while ((input = jsReader.readln()) != null) {
javascript.append(input);
}