Java: InputStream trop lent pour lire des fichiers volumineux

Je dois lire un 53 MO fichier caractère par caractère. Quand je le fais en C++ à l'aide de ifstream, il est complété en millisecondes, mais à l'aide de Java InputStream, il faut plusieurs minutes. Est-il normal de Java cette lente ou ai-je raté quelque chose?

Aussi, j'ai besoin de compléter le programme en Java (servlets à partir de laquelle j'ai du appeler les fonctions qui traitent de ces personnages). Je pensais peut-être que l'écriture du fichier de traitement de la partie en C ou en C++ et en Java Native Interface à l'interface de ces fonctions avec mes programmes Java... Comment cette idée est-elle?

Quelqu'un peut-il me donner un autre bout... j'ai sérieusement besoin de lire le fichier plus rapidement. J'ai essayé à l'aide de tampon d'entrée, mais ce n'est pas de donner les performances, même proche du C++.

Édité: Mon code s'étend sur plusieurs fichiers et il est très sale, donc je donne le synopsis

import java.io.*;

public class tmp {
    public static void main(String args[]) {
        try{
        InputStream file = new BufferedInputStream(new FileInputStream("1.2.fasta"));
        char ch;        
        while(file.available()!=0) {
            ch = (char)file.read();
                    /* Do processing */
            }
        System.out.println("DONE");
        file.close();
        }catch(Exception e){}
    }
}

source d'informationauteur pflz