我在JAR文件中有一个文件 . 例如,它是 1.txt
.
我该如何访问它?我的源代码是:
Double result=0.0;
File file = new File("1.txt")); //how get this file from a jar file
BufferedReader input = new BufferedReader(new FileReader(file));
String line;
while ((line = input.readLine()) != null) {
if(me==Integer.parseInt(line.split(":")[0])){
result= parseDouble(line.split(":")[1]);
}
}
input.close();
return result;
8 回答
我以前曾多次遇到同样的问题 . 我希望在JDK 7中有人会写一个类路径文件系统,但还没有 .
Spring有Resource类,它允许你很好地加载类路径资源 .
答案非常好,但我想我可以在讨论中添加一个可以处理类路径资源的文件和目录的示例 .
我写了一个小原型来解决这个问题 . 原型不处理每个边缘情况,但它确实处理查找jar文件中的目录中的资源 .
我已经使用Stack Overflow很长一段时间了 . 这是我第一次记得回答一个问题,请原谅我,如果我长途跋涉(这是我的天性) .
You can see a fuller example here with the sample output.
类似于this answer的东西就是你所需要的 .
您需要以特殊方式将文件从存档中提取出来 .
Jar文件是一个zip文件.....
所以要读取一个jar文件,试试吧
希望这可以帮助 .
您无法使用File,因为此文件在文件系统上不是独立存在的 . 相反,你需要getResourceAsStream(),如下所示:
如果你的jar在classpath上:
如果它不在类路径上,那么您可以通过以下方式访问它:
这有助于我将一个txt文件从jar文件复制到另一个txt文件