public void reopen() throws IOException {
  super.reopen();
  Debug.message("binaryfile","JarInputReader: reopening jarFile " + jarFileName);
  if (jarFile != null)   jarFile.close();
  jarFile=null;
  jarFile=new JarFile(URLDecoder.decode(jarFileName,"UTF-8"));
  JarEntry entry=jarFile.getJarEntry(jarEntryName);
  inputStream=jarFile.getInputStream(entry);
  if (inputStream == null) {
    Debug.error("JarInputReader: Problem getting input stream for " + jarEntryName + " in "+ jarFileName);
  }
}

public void reopen ( ) throws IOException { super . reopen ( ) ; Debug . message ( "binaryfile" , "JarInputReader: reopening jarFile " + jarFileName ) ; if ( jarFile != null ) jarFile . close ( ) ; jarFile = null ; jarFile = new JarFile ( URLDecoder . decode ( jarFileName , "UTF-8" ) ) ; JarEntry entry = jarFile . getJarEntry ( jarEntryName ) ; inputStream = jarFile . getInputStream ( entry ) ; if ( inputStream == null ) { Debug . error ( "JarInputReader: Problem getting input stream for " + jarEntryName + " in " + jarFileName ) ; } }
reset the inputstream to the beginning , by closing the current connection and reopening it .
