获取要从另一个包中读取的文件

时间:2013-05-15 04:49:54

标签: java file url packages embedded-resource

我需要捕获名为files的包的文件 我尝试使用getResourceAsStream

File file = getClass().getResourceAsStream("files/big.txt")); 

但是,不起作用。这句话要转换为URL。如果在这种情况下我使用URL,我可以进行向下转换,但不能正常工作。

我可以做些什么来解决这个问题?

2 个答案:

答案 0 :(得分:1)

再添加一个斜杠" / " - 如果您从另一个包裹访问
作为注释信息,要读取文件,请使用URL

的openStream()
 URL url = getClass().getResource("/files/big.txt");
     try {
            BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
            String nameList;
            while ((nameList = in.readLine()) != null) {
                System.out.println(nameList);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

答案 1 :(得分:0)

如果您想要文件对象,可以调用

fileUrl.getFile()

获取文件对象