У меня есть метод, который читает файл и возвращает строку, но я хочу вернуть читателя. Я хочу преобразовать строку в читатель, или я хочу прочитать файл и вернуть читателя. Как я могу это сделать?
Как преобразовать String в Reader в java
Ответ 1
Используйте java.io.StringReader
: return new StringReader(string);
.
В следующий раз, когда вам понадобится читатель, вы можете проверить "Прямые известные подклассы" класса Reader
. То же самое касается InputStream
и т.д. В качестве места запуска стоит javadoc - он содержит довольно много полезной информации.
Но для вашей задачи вам лучше следовать совету Джона Лин, просто используя FileReader
. Нет необходимости проходить через String
. (Для этого мой совет из предыдущего параграфа также применяется)
Ответ 2
Или вы можете просто создать FileReader и вернуть это.
Ответ 3
Вы можете использовать StringReader класс из пакета java.io
.
String stringToBeParsed = "The quick brown fox jumped over the lazy dog";
StringReader reader = new StringReader(stringToBeParsed);
Ответ 4
Попробуйте этот пример кода,
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();
}