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.
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
Vous devez vous connecter pour publier un commentaire.
Il pourrait être lié à la JVM bug http://bugs.sun.com/bugdatabase/view_bug.do;jsessionid=53ede10dc8803210b03577eac43?bug_id=6519463
Voir ma réponse pour plus de détails sur cette question relative à la https://stackoverflow.com/a/18845169/2463453
EOFException
... comme une solution de contournement pour le buggy JVM comportement.OriginalL'auteur Stephan L