public void copyStreamToFile()

in taverna-server-webapp/src/main/java/org/apache/taverna/server/master/TavernaServerSupport.java [874:908]


	public void copyStreamToFile(InputStream stream, File file)
			throws FilesystemAccessException {
		String name = file.getFullName();
		long total = 0;
		try {
			byte[] buffer = new byte[TRANSFER_SIZE];
			boolean first = true;
			while (true) {
				int len = stream.read(buffer);
				if (len < 0)
					break;
				total += len;
				if (log.isDebugEnabled())
					log.debug("read " + len
							+ " bytes from source stream (total: " + total
							+ ") bound for " + name);
				if (len == buffer.length) {
					if (first)
						file.setContents(buffer);
					else
						file.appendContents(buffer);
				} else {
					byte[] newBuf = new byte[len];
					System.arraycopy(buffer, 0, newBuf, 0, len);
					if (first)
						file.setContents(newBuf);
					else
						file.appendContents(newBuf);
				}
				first = false;
			}
		} catch (IOException exn) {
			throw new FilesystemAccessException("failed to transfer bytes", exn);
		}
	}