我想说我搜索了很多甚至google和stackoverflow。关于这一点有很多主题,但我找不到我需要的东西。
我的问题是:
我想定义我自己的包文件夹中的文件.File的格式是.txt。
文件位于xxx\src\xxxx\myTXTFile.txt
我写这段代码来达到我的txt:
File f = new File(xxx.class.getResource("pr.txt").getFile());
当我在netbeans上运行此代码时,它是有效的。但是当我编译并单击.jar文件时,它会报告:
File not found
我该怎么办?
答案 0 :(得分:1)
您可以使用以下代码访问您的txt文件:
File f = new File("xxxx/myTXTFile.txt");
或者您必须将txtfile保存在Tempfolder中:
InputStream is = getClass().getClassLoader().getResourceAsStream("xxxx/myTXTFile.txt");
OutputStream os = new FileOutputStream(new File("/tmp/tempTXTFile.txt"));
while ((i = is.read(buffer)) != -1)
{
output.write(buffer, 0, i);
}
output.close();
is.close();
File f = new File("/tmp/tempTXTFile.txt");
答案 1 :(得分:1)
在IDE中,文件仍然位于zip格式jar之外。因此被发现了。对于jar内的文件,请使用:
OutputStream f = xxx.class.getResourceAsStream("pr.txt");
文件不起作用。