web-dev-qa-db-fra.com

Comment convertir String en Reader en java

J'ai une méthode qui lit un fichier et renvoie une chaîne, mais je voulais renvoyer un lecteur. Je veux convertir la chaîne en lecteur, ou je veux lire le fichier et le renvoyer. Comment puis-je faire ceci?

45
Arasu

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

La prochaine fois que vous aurez besoin d’un lecteur, vous pourrez vérifier les "Sous-classes directes connues" de la classe Reader . Il en va de même pour InputStream, etc. Le point de départ est le javadoc - il contient de nombreuses informations utiles.

Mais pour votre tâche actuelle, vous feriez bien de suivre le conseil de Jon Lin d’utiliser simplement une variable FileReader. Il n'est pas nécessaire de passer par String. (Pour cela, mon conseil du paragraphe précédent s'applique également)

94
Bozho

Ou vous pouvez simplement créer un FileReader et le retourner.

10
Jon Lin

Vous pouvez utiliser StringReader class à partir du package Java.io.

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

Essayez cet exemple de code,

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