我如何在我的jar中获取.txt文件?

时间:2012-11-26 07:39:32

标签: java jar embedded-resource filepath getresource

我想说我搜索了很多甚至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 

我该怎么办?

2 个答案:

答案 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");

文件不起作用。