it-swarm-pt.tech

Como conversor String para Reader em java

Eu tenho um método que lê um arquivo e retorna uma string, mas eu queria retornar um leitor. Eu quero converter a string para um leitor, ou eu quero ler o arquivo e retornar o leitor. Como posso fazer isso?

45
Arasu

Use Java.io.StringReader : return new StringReader(string);.

Na próxima vez que você precisar de um leitor, você poderá verificar as "Subclasses conhecidas diretas" da Reader class. O mesmo vale para InputStream, etc. O lugar para começar é o javadoc - ele contém muitas informações úteis.

Mas para a sua tarefa, é melhor seguir o conselho de Jon Lin de simplesmente usar uma FileReader. Não há necessidade de passar por String. (Para isso, o meu conselho do parágrafo anterior se aplica também)

94
Bozho

Ou você pode simplesmente criar um FileReader e retornar isso.

10
Jon Lin

Você pode usar StringReader class do pacote Java.io.

String stringToBeParsed = "The quick brown fox jumped over the lazy dog";
StringReader reader = new StringReader(stringToBeParsed);
8
Aravind R. Yarram

Experimente este código de exemplo,

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