2012-07-09 77 views
0

我有一个像com/tcs/incubation/sml/crawler/mediasources/twitterriver这样的包结构。 我有一个txt文件,我需要从这个包结构加载,即twitterriver。如何从同一个包中加载一个txt文件

我能够加入SRC通过

BufferedReader objBufferedReader = new BufferedReader(new FileReader(filepath)); 

此文件路径来访问文件就像 src/com/tcs/incubation/sml/crawler/mediasources/twitterriver将包含使用.getAbsolutePath()方法的绝对路径。

那么如何从com/tcs/incubation/sml/crawler/mediasources/twitterriver加载我的txt文件。

回答

2

如果该文件属于程序的内部,只需使用TwitterRiver.class.getRessourceAsStream()即可获得InputStream。

+0

This TwitterRiver is the class where i am running my code? – 2012-07-10 07:49:00

+0

@saurabhj是的,你需要将你想要读取的文件放在同一个目录下。不要忘记将资源文件与您的类文件打包在一起。如果你的资源是某种静态配置文件,调用'getResourceAsStream()'是适当的,只有当你释放一个新版本的应用程序时才会改变。 – Arne 2012-07-10 08:14:08

+1

当我使用整个包的代码InputStream inputStream = SMLTwitterRiverUtil.class.getClassLoader()。getResourceAsStream(“com/tcs/incubate/sml/crawler/mediasources/twitterriver/CrawlingRiverIndexQuery.tx t” ));它工作正常,但当我只使用相同的包中的文件名,如 - InputStream inputStream =(SMLTwitterRiverUtil.class.getClassLoader()。getResourceAsStream(“CrawlingRiverIndexQuery.txt”)); 它给出一个空指针异常 – 2012-07-10 09:21:27