Как конвертировать String в Reader в Java - PullRequest
46 голосов
/ 19 декабря 2011

У меня есть метод, который читает файл и возвращает строку, но я хотел вернуть читателя. Я хочу преобразовать строку в читатель, или я хочу прочитать файл и вернуть читателя. Как я могу это сделать?

Ответы [ 4 ]

96 голосов
/ 19 декабря 2011

Использование java.io.StringReader: return new StringReader(string);.

В следующий раз, когда вам понадобится читатель, вы можете проверить «Прямые известные подклассы» класса Reader. То же самое относится и к InputStream, и т. Д. Для начала стоит javadoc - он содержит довольно много полезной информации.

Но для выполнения поставленной задачи вам лучше последовать совету Джона Линя о простом использовании FileReader. Нет необходимости проходить через String. (Для этого применим и мой совет из предыдущего параграфа) * ​​1015 *

11 голосов
/ 19 декабря 2011

Или вы можете просто создать FileReader и вернуть его.

8 голосов
/ 19 декабря 2011

Вы можете использовать StringReader класс из java.io пакета.

String stringToBeParsed = "The quick brown fox jumped over the lazy dog";
StringReader reader = new StringReader(stringToBeParsed);
0 голосов
/ 05 февраля 2019

Попробуйте этот пример кода,

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();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...