Bonne et efficace CSV/TSV Lecteur pour Java

Je suis en train de lire big CSV et TSV(Onglet sepperated Fichiers) avec environ 1000000 lignes ou plus. Maintenant, j'ai essayé de lire un TSV contenant ~2500000 lignes avec opencsv, mais il me jette un java.lang.NullPointerException. Il travaille avec les plus petits TSV Fichiers avec ~250000 lignes. Donc je me demandais si il y a d'autres Libraries qui prennent en charge la lecture de l'immense CSV et TSV Fichiers. Avez-vous des idées?

Tout le monde qui est intéressé dans mon Code (je l'écourter, de sorte Try-Catch est évidemment invalide):

InputStreamReader in = null;
CSVReader reader = null;
try {
    in = this.replaceBackSlashes();
    reader = new CSVReader(in, this.seperator, '\"', this.offset);
    ret = reader.readAll();
} finally {
    try {
        reader.close();
    } 
}

Edit: C'est la Méthode où je construis le InputStreamReader:

private InputStreamReader replaceBackSlashes() throws Exception {
        FileInputStream fis = null;
        Scanner in = null;
        try {
            fis = new FileInputStream(this.csvFile);
            in = new Scanner(fis, this.encoding);
            ByteArrayOutputStream out = new ByteArrayOutputStream();

            while (in.hasNext()) {
                String nextLine = in.nextLine().replace("\\", "/");
                //nextLine = nextLine.replaceAll(" ", "");
                nextLine = nextLine.replaceAll("'", "");
                out.write(nextLine.getBytes());
                out.write("\n".getBytes());
            }

            return new InputStreamReader(new ByteArrayInputStream(out.toByteArray()));
        } catch (Exception e) {
            in.close();
            fis.close();
            this.logger.error("Problem at replaceBackSlashes", e);
        }
        throw new Exception();
    }
Pourquoi ne pas vous lire vous-même grâce à un BufferedReader?
En fait, je voulais avoir bien conçu ,utilisé le Code et je ne veux pas réinventer la roue, en réalité, c'est la raison pour laquelle tout le monde est à l'aide de libs, je pense. Mais si il n'y a pas que rien ne fonctionne, je vais le faire.
avec que de nombreuses lignes je veux le regarder dans le traitement du fichier en lots: Lire n lignes à partir du fichier, processus de csv, de lire le prochain numéro de lot, etc.
Eh bien, ce pourrait être une solution, merci.

OriginalL'auteur Robin | 2012-12-14