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
fDescriptionLocation= descriptionLocation;
	}
	/**
	 * Gets the description file (as workspace resource).
	 * 
	 * @return a file which points to the description
	 */
	public IFile getDescriptionFile() {
		IPath path= getDescriptionLocation();
		if (path.isValidPath(path.toString()) && path.segmentCount() >= 2)
			return JavaPlugin.getWorkspace().getRoot().getFile(path);
		else
			return null;
	}	
	
	/**
	 * Gets the manifest's main class.
	 * 
	 * @return	the type which contains the main class or,
	 * 			<code>null</code> if none is specified
	 */
	public IType getManifestMainClass() {
		return fManifestMainClass;
	}
	/**
	 * Set the manifest's main class.
	 * 
	 * @param manifestMainClass the type with the main class for the manifest file
	 */
	public void setManifestMainClass(IType manifestMainClass) {