如何字符串转换为读者在java中

问题描述 投票:46回答:4

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

java file-io
4个回答
96
投票

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

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

但是,对于您手头的任务,你最好遵循简单地使用FileReader的乔恩·林的意见。有没有必要去通过String。 (对于这一点,前一段我的建议也适用)


11
投票

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


8
投票

您可以使用StringReader类从java.io包。

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

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();
    }
© www.soinside.com 2019 - 2024. All rights reserved.