Meilleure façon de lire un flux d'entrée pour un tampon

Pour lire n'importe quel flux d'entrée pour un tampon, il y a deux méthodes. Quelqu'un peut-il m'aider à comprendre quelle est la meilleure méthode, et pourquoi? Et dans quelle situation nous devons utiliser chaque méthode?

  • La lecture ligne par ligne et d'ajouter de la mémoire tampon.

Par exemple:

public String fileToBuffer(InputStream is, StringBuffer strBuffer) throws IOException{
    StringBuffer buffer = strBuffer;
    InputStreamReader isr = null;

    try {
        isr = new InputStreamReader(is);
        BufferedReader br = new BufferedReader(isr);
        String line = null;

        while ((line = br.readLine()) != null) {
            buffer.append(line + "\n");
        }
    } finally {
        if (is != null) {
            is.close();
        }
        if (isr != null) {
            isr.close();
        }
    }

    return buffer.toString();
}

  • La lecture jusqu'à la taille de la mémoire tampon ie 1024 octets dans un tableau de char.

Par exemple:

InputStreamReader isr = new InputStreamReader(is);
final int bufferSize = 1024;
char[] buffer = new char[bufferSize];
StringBuffer strBuffer = new StringBuffer();

/* read the base script into string buffer */
try {
    while (true) {
        int read = isr.read(buffer, 0, bufferSize);
        if (read == -1) {
           break;
        }

        strBuffer.append(buffer, 0, read);
     }
} catch (IOException e) {
}

OriginalL'auteur user1731553 | 2013-01-18