我正在尝试从 src 包中加载一个文本文件。我不想将它作为输入流加载。我想将其加载为 FileReader。
查看 netbeans 如何加载图标,我尝试使用代码:
getClass().getResourcesAsStream("/getresources/test.txt");
但是,我找不到将输入流转换为文件读取器的任何方法。有没有这样做,以便我可以使用 FileReader。我知道我可以自己将输入流分成几行,但这似乎需要做很多工作。
谢谢!
nt
您可能想改用 BufferedReader。它具有 Filereader 的相同优点,可以逐行读取等,并接受 InputStreamReader 接受 InputStream。这些 IO 类实际上是众所周知的装饰器模式的实现。如果您阅读了该模式,您可能会更了解所有这些 IO 类。
FileReader 需要一个文件。
请注意,可能无法从文件系统访问类路径资源。另外,我认为任何体面的 API 都会接受 aReader
而不是FileReader
. 你可以做:
Reader reader = new InputStreamReader(inputStream);
由于您有一个流式资源(可能来自 URL)而不是文件,我建议使用 InputStreamReader。