Je suis en train de lire un fichier à partir d'une archive jar, et revenir comme java.io.InputStream.GroovyCastException lorsque vous appelez java.util.zip.ZipFile.getInputStream()
Voici la méthode où je suis en train d'y arriver:
InputStream getExportInfo(path) {
def zipFile = new java.util.zip.ZipFile(new File(path))
zipFile.entries().each { entry ->
def name = entry.name
if (!entry.directory && name == "ExportInfo") {
java.io.InputStream is = zipFile.getInputStream(entry)
return is
}
}
}
Cependant, je reçois cette erreur de la console:
org.codehaus.groovy.runtime.typehandling.GroovyCastException: Impossible de lancer des objets '[email protected]' avec la classe 'java.util.zip.ZipFile $ ZipEntryIterator' classe 'java.io.InputStream'
Il semble que le .getInputStream (entrée) ne renvoie pas un 'java.io.InputStream', mais il devrait selon le documentation
D'où vient ce 'moulage'?
Est-ce que l'intégralité du message d'erreur? Quelle ligne provoque l'erreur? –
Et comment appelez-vous cette méthode? –
@ Code-Apprentice imprime également une trace de pile qui aboutit à la ligne 'zipFile.entries(). Chaque {entry ->'. J'appelle cette méthode comme ceci: 'def = exportInfo jarHandler.getExportInfo (jarPath)' –