如何在java中将String转换为Reader

时间:2011-12-19 07:49:45

标签: java file-io

我有一个读取文件并返回字符串的方法,但我想返回一个读者。我想将字符串转换为读者,或者我想读取文件并返回阅读器。我怎么能这样做?

4 个答案:

答案 0 :(得分:96)

使用java.io.StringReaderreturn new StringReader(string);

下次需要阅读器时,可以查看Reader类的“直接已知子类”。同样适用于InputStream等。开始的地方是javadoc - 它包含了很多有用的信息。

但是对于你手头的任务,你最好遵循Jon Lin关于使用FileReader的建议。没有必要通过String。 (为此,我上一段的建议也适用)

答案 1 :(得分:11)

或者你可以简单地创建一个FileReader并返回它。

答案 2 :(得分:8)

您可以使用java.io包中的StringReader课程。

String stringToBeParsed = "The quick brown fox jumped over the lazy dog";
StringReader reader = new StringReader(stringToBeParsed);

答案 3 :(得分:0)

尝试此示例代码,

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();
    }