我有一个读取文件并返回字符串的方法,但我想要返回一个 reader。我想要将字符串转换为 reader,或者我想要读取文件并返回 reader。我该如何做?
使用 java.io.StringReader
: return new StringReader(string);
。
下次需要读取器时,可以查看 Reader
类的 "Direct known subclasses"。对于 InputStream
等也是如此。开始的地方是 javadoc - 它包含了相当多有用的信息。
但对于您手头的任务,最好遵循 Jon Lin 的建议,简单地使用 FileReader
。没有必要通过 String
进行操作。(对于这一点,同样适用于我在上一段中提到的建议)
Reader
)上时按下F4,就可以轻松地拉出该类型的所有已知子类的树形结构。我认为其他集成开发环境也会有类似的功能。在这些情况下非常有帮助。 - hendalstjava.io
包的StringReader类。String stringToBeParsed = "The quick brown fox jumped over the lazy dog";
StringReader reader = new StringReader(stringToBeParsed);
试试这个示例代码,
FileInputStream in = null;
StringBuilder sb = new StringBuilder();
String tempString = null;
Reader initialReader;
try {
in = new FileInputStream(filename);
initialReader = new InputStreamReader(in);
char[] arr = new char[8 * 1024];
StringBuilder buffer = new StringBuilder();
int numCharsRead;
while ((numCharsRead = initialReader.read(arr, 0, arr.length)) != -1) {
buffer.append(arr, 0, numCharsRead);
}
String targetString = buffer.toString();
result = IOUtils.toByteArray(targetString);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}