Bug 82804 Jar creation should use less memory
I noticed that the JarWriter will read the entire file it plans to store into memory. An optimization would be to stream the file directly into the JarOutputStream. The only catch is with STORED items which need the CRC32 computed. A penalty could be taken in that case to compute the CRC in a loop and then stream the file.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/jarpackager/JarPackageData.java
* The manifest will contain the following entry:
	 * Sealed: true
	 * <p>
	 * This option should only be considered when the
	 * manifest file is generated.
	 * </p>
	 * 
	 * @param sealJar <code>true</code> if the JAR must be sealed
	 * @see #isManifestGenerated()
	 */
	public void setSealJar(boolean sealJar) {
		fSealJar= sealJar;
	}
	/**
	 * Sets the packages which should be sealed.
	 * The following entry will be added to the manifest file for each package:
	 * Name: <name of the package>
	 * Sealed: true
	 * <p>
	 * This should only be used if the JAR itself is not sealed.
	 * </p>
	 * 
	 * @param packagesToSeal an array of <code>IPackageFragment</code> to seal
	 */
	public void setPackagesToSeal(IPackageFragment[] packagesToSeal) {
		fPackagesToSeal= packagesToSeal;
	}
	/**
	 * Gets the packages which should be sealed.
	 * The following entry will be added to the manifest file for each package: