从源包加载文件

时间:2010-09-02 07:48:39

标签: java java-io

我正在尝试从src包加载文本文件。我不想将其作为输入流加载。我想将它作为FileReader加载。

看看netbeans如何加载图标,我尝试使用代码:

getClass().getResourcesAsStream("/getresources/test.txt");

但是,我找不到任何方法将输入流转换为文件阅读器。反正有没有这样做,以便我可以使用FileReader。我知道我可以将输入流分解成行,但这看起来很有效。

谢谢!

NT

3 个答案:

答案 0 :(得分:3)

您可能希望使用BufferedReader。 它具有与Filereader相同的优点,可以逐行读取等,并接受一个接受InputStream的InputStreamReader。 这些IO类实际上是众所周知的Decorator模式的实现。 如果您阅读了该模式,您可能会更多地了解所有这些IO类。

FileReader需要一个文件。

答案 1 :(得分:2)

请注意,可能无法从文件系统访问类路径资源。另外,我假设任何不错的API都会接受Reader而不是FileReader。你可以这样做:

Reader reader = new InputStreamReader(inputStream);

答案 2 :(得分:1)

由于您有一个流资源(可能来自URL)而不是文件,我建议使用InputStreamReader。