private static Hashtable<String, String> getManifestAttributes(File jarFile) { Hashtable<String, String> h = new Hashtable<String, String>(); JarFile jar = null; try { jar = new JarFile(jarFile); Manifest manifest = jar.getManifest(); h = getManifestAttributes(manifest); } catch (Exception ex) { } if (jar != null) { try { jar.close(); } catch (Exception ignore) { } } return h; }
public Image getImage(String sImage) { Image imReturn = null; try { if (jar == null) { imReturn = this.toolkit.createImage(this.getClass().getClassLoader().getResource(sImage)); } else { // BufferedInputStream bis = new BufferedInputStream(jar.getInputStream(jar.getEntry(sImage))); ByteArrayOutputStream buffer = new ByteArrayOutputStream(4096); int b; while ((b = bis.read()) != -1) { buffer.write(b); } byte[] imageBuffer = buffer.toByteArray(); imReturn = this.toolkit.createImage(imageBuffer); bis.close(); buffer.close(); } } catch (IOException ex) { } return imReturn; }