java.io.EOFException: la fin Inattendue de ZLIB flux d'entrée

SALUT les gars,
test de mon tar.gz outil d'extraction, j'ai trouvé levée de l'exception:

java.io.EOFException: la fin Inattendue de ZLIB flux d'entrée 
à java.util.zip.InflaterInputStream.de remplissage(Source Inconnue) 
à java.util.zip.InflaterInputStream.lire(Source Inconnue) 
à java.util.zip.GZIPInputStream.lire(Source Inconnue) 
au coucher du soleil.nio.cs.StreamDecoder.readBytes(Source Inconnue) 
au coucher du soleil.nio.cs.StreamDecoder.implRead(Source Inconnue) 
au coucher du soleil.nio.cs.StreamDecoder.lire(Source Inconnue) 
à java.io.InputStreamReader.lire(Source Inconnue) 
à java.io.BufferedReader.de remplissage(Source Inconnue) 
à java.io.BufferedReader.readLine(Source Inconnue) 
à java.io.BufferedReader.readLine(Source Inconnue) 
à elle.uniroma2.informatica.specialistica.IO.ScanCompressedFileUtil.principale(ScanCompressedFileUtil.java:60 

Donc le code à la ligne 60 est:

BufferedReader bufLe= reader.remove();
try {
  while ( bufLe.ready() ){
    System.out.println(" "+bufLe.readLine());
  }
} catch (IOException e) {
  //TODO Auto-generated catch block
  e.printStackTrace();
}

où l'appelant tampon.readLine(), déclenche une exception. Quand j'ai ouvert la tar.gz, j'ai gardé le flux de tous les fichier unique, comme BuffReader puis-je mettre à une linkedList, et puis j'ai Fermé la mémoire tampon du fichier tar.gz ouvert.
Mais Quand je pop un élément dans la liste, et puis essayez de lire ligne par ligne. J'ai l'execption..

Quelqu'un a une Idée de pourquoi j'ai de l'exception??? Peut-être que j'ai mal du somthin quand j'parcourir les fichiers à l'intérieur de la tar.gz??
pour le faire j'ai le code:

TarInputStream is =  new TarInputStream(gzipInputStream);

TarEntry entryx = null;

try {
  while((entryx = is.getNextEntry()) != null) {
    InputStream tmpInx = new StreamingTarEntry(is,  entryx.getSize());
    //questo viene invocato perchè il file da lettere è un file txt
    manageTxtinsideTAR(tmpInx , buffer);
    //I add the stream to a linked list

La classe STREAMINGTARENTRY, s'étend FilterInputStream, il n'est donc encapsule le flux.

Je ne suis pas sûr que ce soit lié à votre problème, mais vous ne devriez pas utiliser la méthode de prêt de BufferedReader comme ça. Lire sa documentation de l'api. Tout lire d'un BufferedReader, ligne par ligne, appel readLine jusqu'à ce qu'elle retourne null.
NON, je suis désolé. Le problème n'est pas lié à l'utilisation de .ready(). Parce que un ont mis en place deux types d'application. SUR ma première demande tous fonctionne bien. Mais si je veux tout seul fichier comme BuffeREader, et puis je récupérer l'un d'entre eux, j'ai l'exception.

OriginalL'auteur Bomberlatinos9 | 2011-02-27