java.io.ByteArrayOutputStream#size ( )源码实例Demo

下面列出了java.io.ByteArrayOutputStream#size ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: netcdf-java   文件: CdmrfWriter.java
private long sendData(Array data, OutputStream out, boolean deflate) throws IOException {

    // length of data uncompressed
    long uncompressedLength = data.getSizeBytes();
    long size = 0;

    if (deflate) {
      // write to an internal buffer, so we can find out the size
      ByteArrayOutputStream bout = new ByteArrayOutputStream();
      DeflaterOutputStream dout = new DeflaterOutputStream(bout);
      IospHelper.copyToOutputStream(data, dout);

      // write internal buffer to output stream
      dout.close();
      int deflatedSize = bout.size();
      size += NcStream.writeVInt(out, deflatedSize);
      bout.writeTo(out);
      size += deflatedSize;

    } else {
      size += NcStream.writeVInt(out, (int) uncompressedLength);
      size += IospHelper.copyToOutputStream(data, out);
    }

    return size;
  }
 
源代码2 项目: freehealth-connector   文件: HarFileHandler.java
private String getEnvelope(SOAPMessage message) throws SOAPException, IOException {
   ByteArrayOutputStream stream = new ByteArrayOutputStream();

   String var3;
   try {
      message.writeTo(stream);
      if (stream.size() < 1232896) {
         var3 = stream.toString(Charset.UTF_8.getName());
         return var3;
      }

      var3 = "message to large to log";
   } finally {
      ConnectorIOUtils.closeQuietly((Object)stream);
   }

   return var3;
}
 
源代码3 项目: LPR   文件: Utils.java
public static Mat loadResource(Context context, int resourceId, int flags) throws IOException
{
    InputStream is = context.getResources().openRawResource(resourceId);
    ByteArrayOutputStream os = new ByteArrayOutputStream(is.available());

    byte[] buffer = new byte[4096];
    int bytesRead;
    while ((bytesRead = is.read(buffer)) != -1) {
        os.write(buffer, 0, bytesRead);
    }
    is.close();

    Mat encoded = new Mat(1, os.size(), CvType.CV_8U);
    encoded.put(0, 0, os.toByteArray());
    os.close();

    Mat decoded = Imgcodecs.imdecode(encoded, flags);
    encoded.release();

    return decoded;
}
 
源代码4 项目: freehealth-connector   文件: HarFileHandler.java
private String getEnvelope(SOAPMessage message) throws SOAPException, IOException {
   ByteArrayOutputStream stream = new ByteArrayOutputStream();

   String var3;
   try {
      message.writeTo(stream);
      if (stream.size() >= 1232896) {
         var3 = "message to large to log";
         return var3;
      }

      var3 = stream.toString(Charset.UTF_8.getName());
   } finally {
      ConnectorIOUtils.closeQuietly((Object)stream);
   }

   return var3;
}
 
源代码5 项目: yue-library   文件: MultipartRequestInputStream.java
/**
 * 输入流中读取边界
 * 
 * @return 边界
 * @throws IOException IO异常
 */
public byte[] readBoundary() throws IOException {
	ByteArrayOutputStream boundaryOutput = new ByteArrayOutputStream(1024);
	byte b;
	// skip optional whitespaces
	while ((b = readByte()) <= ' ') {
	}
	boundaryOutput.write(b);

	// now read boundary chars
	while ((b = readByte()) != '\r') {
		boundaryOutput.write(b);
	}
	if (boundaryOutput.size() == 0) {
		throw new IOException("Problems with parsing request: invalid boundary");
	}
	skipBytes(1);
	boundary = new byte[boundaryOutput.size() + 2];
	System.arraycopy(boundaryOutput.toByteArray(), 0, boundary, 2, boundary.length - 2);
	boundary[0] = '\r';
	boundary[1] = '\n';
	return boundary;
}
 
源代码6 项目: ShareLoginPayUtil   文件: ImageDecoder.java
public static byte[] compress2Byte(String imagePath, int size, int length) {
    BitmapFactory.Options options = new BitmapFactory.Options();
    options.inJustDecodeBounds = true;
    BitmapFactory.decodeFile(imagePath, options);

    int outH = options.outHeight;
    int outW = options.outWidth;
    int inSampleSize = 1;

    while (outH / inSampleSize > size || outW / inSampleSize > size) {
        inSampleSize *= 2;
    }

    options.inSampleSize = inSampleSize;
    options.inJustDecodeBounds = false;

    Bitmap bitmap = BitmapFactory.decodeFile(imagePath, options);

    ByteArrayOutputStream result = new ByteArrayOutputStream();
    int quality = 100;
    bitmap.compress(Bitmap.CompressFormat.JPEG, quality, result);
    if (result.size() > length) {
        result.reset();
        quality -= 10;
        bitmap.compress(Bitmap.CompressFormat.JPEG, quality, result);
    }

    bitmap.recycle();
    return result.toByteArray();
}
 
源代码7 项目: netcdf-java   文件: NcStreamIosp.java
public String showDeflate() {
  if (!(what instanceof NcStreamIosp.DataStorage))
    return "Must select a NcStreamIosp.DataStorage object";

  Formatter f = new Formatter();
  try {
    NcStreamIosp.DataStorage dataStorage = (NcStreamIosp.DataStorage) what;

    raf.seek(dataStorage.filePos);
    byte[] data = new byte[dataStorage.size];
    raf.readFully(data);

    ByteArrayInputStream bin = new ByteArrayInputStream(data);
    ByteArrayOutputStream bout = new ByteArrayOutputStream();
    DeflaterOutputStream dout = new DeflaterOutputStream(bout);
    IO.copy(bin, dout);
    dout.close();
    int deflatedSize = bout.size();
    float ratio = ((float) data.length) / deflatedSize;
    f.format("Original size = %d bytes, deflated = %d bytes ratio = %f %n", data.length, deflatedSize, ratio);
    return f.toString();

  } catch (IOException e) {
    e.printStackTrace();
    return e.getMessage();
  }
}
 
源代码8 项目: Android-POS   文件: SmartPost.java
/**
 * ��������
 * @param cmd AN
 * @param code ACK/NAK����
 * @param tip ����
 * @param path ������������
 * @return
 */
public static byte[] InitMessage(byte[] cmd, String code, String tip, byte path) {
	ByteArrayOutputStream baos = new ByteArrayOutputStream();
	try {
		baos.write(PostDefine.START);
		baos.write(PostDefine.STX);
		
		ByteArrayOutputStream lsContent = new ByteArrayOutputStream();
		lsContent.write(path); // PostDefine.PATH_1
		lsContent.write(PostDefine.TYPE_1);
		lsContent.write(id);
		lsContent.write(cmd);
		if (code != null) {
			lsContent.write(PostDefine.FS);
			lsContent.write(code.getBytes());
			if (tip != null) {
				lsContent.write(PostDefine.FS);
				lsContent.write(tip.getBytes());
			}
		}
		int len = lsContent.size();
		baos.write(Function.toHex2Len(len));
		baos.write(lsContent.toByteArray());
		baos.write(PostDefine.ETX);
		
		byte[] buffer = baos.toByteArray();
		byte[] LRCContent = new byte[buffer.length-4];
		System.arraycopy(buffer, 4, LRCContent, 0, buffer.length-4);
		byte LRC = Function.Enteryparity(LRCContent);
		
		baos.write(LRC);
		baos.write(PostDefine.END);
		lsContent.close();
		baos.close();
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	return baos.toByteArray();
}
 
源代码9 项目: spring-analysis-note   文件: StompDecoder.java
private void readHeaders(ByteBuffer byteBuffer, StompHeaderAccessor headerAccessor) {
	while (true) {
		ByteArrayOutputStream headerStream = new ByteArrayOutputStream(256);
		boolean headerComplete = false;
		while (byteBuffer.hasRemaining()) {
			if (tryConsumeEndOfLine(byteBuffer)) {
				headerComplete = true;
				break;
			}
			headerStream.write(byteBuffer.get());
		}
		if (headerStream.size() > 0 && headerComplete) {
			String header = new String(headerStream.toByteArray(), StandardCharsets.UTF_8);
			int colonIndex = header.indexOf(':');
			if (colonIndex <= 0) {
				if (byteBuffer.remaining() > 0) {
					throw new StompConversionException("Illegal header: '" + header +
							"'. A header must be of the form <name>:[<value>].");
				}
			}
			else {
				String headerName = unescape(header.substring(0, colonIndex));
				String headerValue = unescape(header.substring(colonIndex + 1));
				try {
					headerAccessor.addNativeHeader(headerName, headerValue);
				}
				catch (InvalidMimeTypeException ex) {
					if (byteBuffer.remaining() > 0) {
						throw ex;
					}
				}
			}
		}
		else {
			break;
		}
	}
}
 
源代码10 项目: flink   文件: SocketWindowWordCountITCase.java
@Test
public void testScalaProgram() throws Exception {
	InetAddress localhost = InetAddress.getByName("localhost");

	// suppress sysout messages from this example
	final PrintStream originalSysout = System.out;
	final PrintStream originalSyserr = System.err;

	final ByteArrayOutputStream errorMessages = new ByteArrayOutputStream();

	System.setOut(new PrintStream(new NullStream()));
	System.setErr(new PrintStream(errorMessages));

	try {
		try (ServerSocket server = new ServerSocket(0, 10, localhost)) {

			final ServerThread serverThread = new ServerThread(server);
			serverThread.setDaemon(true);
			serverThread.start();

			final int serverPort = server.getLocalPort();

			org.apache.flink.streaming.scala.examples.socket.SocketWindowWordCount.main(
					new String[] { "--port", String.valueOf(serverPort) });

			if (errorMessages.size() != 0) {
				fail("Found error message: " + new String(errorMessages.toByteArray(), ConfigConstants.DEFAULT_CHARSET));
			}

			serverThread.join();
			serverThread.checkError();
		}
	}
	finally {
		System.setOut(originalSysout);
		System.setErr(originalSyserr);
	}
}
 
@Test
public void testJavaProgram() throws Exception {
	InetAddress localhost = InetAddress.getByName("localhost");

	// suppress sysout messages from this example
	final PrintStream originalSysout = System.out;
	final PrintStream originalSyserr = System.err;

	final ByteArrayOutputStream errorMessages = new ByteArrayOutputStream();

	System.setOut(new PrintStream(new NullStream()));
	System.setErr(new PrintStream(errorMessages));

	try {
		try (ServerSocket server = new ServerSocket(0, 10, localhost)) {

			final ServerThread serverThread = new ServerThread(server);
			serverThread.setDaemon(true);
			serverThread.start();

			final int serverPort = server.getLocalPort();

			SocketWindowWordCount.main(new String[] { "--port", String.valueOf(serverPort) });

			if (errorMessages.size() != 0) {
				fail("Found error message: " + new String(errorMessages.toByteArray(), ConfigConstants.DEFAULT_CHARSET));
			}

			serverThread.join();
			serverThread.checkError();
		}
	}
	finally {
		System.setOut(originalSysout);
		System.setErr(originalSyserr);
	}
}
 
源代码12 项目: DoraemonKit   文件: NetworkInterpreter.java
public void responseReadFinished(int requestId, NetworkRecord record, ByteArrayOutputStream outputStream) {
    if (outputStream != null) {
        record.responseLength = outputStream.size();
        record.mResponseBody = outputStream.toString();
        //LogHelper.i(TAG, "[responseReadFinished] body: " + record.mResponseBody.toString().length());
    } else {
        //LogHelper.i(TAG, "[responseReadFinished] outputStream is null request id: " + requestId);
    }
}
 
源代码13 项目: tencentcloud-sdk-java   文件: AbstractClient.java
private byte[] getMultipartPayload(AbstractModel request, String boundary) throws Exception {
  ByteArrayOutputStream baos = new ByteArrayOutputStream();
  String[] binaryParams = request.getBinaryParams();
  for (Map.Entry<String, byte[]> entry : request.getMultipartRequestParams().entrySet()) {
    baos.write("--".getBytes(StandardCharsets.UTF_8));
    baos.write(boundary.getBytes(StandardCharsets.UTF_8));
    baos.write("\r\n".getBytes(StandardCharsets.UTF_8));
    baos.write("Content-Disposition: form-data; name=\"".getBytes(StandardCharsets.UTF_8));
    baos.write(entry.getKey().getBytes(StandardCharsets.UTF_8));
    if (Arrays.asList(binaryParams).contains(entry.getKey())) {
      baos.write("\"; filename=\"".getBytes(StandardCharsets.UTF_8));
      baos.write(entry.getKey().getBytes(StandardCharsets.UTF_8));
      baos.write("\"\r\n".getBytes(StandardCharsets.UTF_8));
    } else {
      baos.write("\"\r\n".getBytes(StandardCharsets.UTF_8));
    }
    baos.write("\r\n".getBytes(StandardCharsets.UTF_8));
    baos.write(entry.getValue());
    baos.write("\r\n".getBytes(StandardCharsets.UTF_8));
  }
  if (baos.size() != 0) {
    baos.write("--".getBytes(StandardCharsets.UTF_8));
    baos.write(boundary.getBytes(StandardCharsets.UTF_8));
    baos.write("--\r\n".getBytes(StandardCharsets.UTF_8));
  }
  byte[] bytes = baos.toByteArray();
  baos.close();
  return bytes;
}
 
源代码14 项目: ADT_Frontend   文件: RepositoryContentHandlerV1.java
protected MessageBody(ByteArrayOutputStream outputStream) {
	super(CONTENT_TYPE_V3);
	this.stream = new ByteArrayInputStream(outputStream.toByteArray(), 0, outputStream.size());
}
 
源代码15 项目: Android-utils   文件: ImageUtils.java
public static Bitmap compressByQuality(final Bitmap src,
                                       final long maxByteSize,
                                       final boolean recycle) {
    if (isEmptyBitmap(src) || maxByteSize <= 0) return null;
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    src.compress(CompressFormat.JPEG, 100, baos);
    byte[] bytes;
    if (baos.size() <= maxByteSize) {
        bytes = baos.toByteArray();
    } else {
        baos.reset();
        src.compress(CompressFormat.JPEG, 0, baos);
        if (baos.size() >= maxByteSize) {
            bytes = baos.toByteArray();
        } else {
            // find the best quality using binary search
            int st = 0;
            int end = 100;
            int mid = 0;
            while (st < end) {
                mid = (st + end) / 2;
                baos.reset();
                src.compress(CompressFormat.JPEG, mid, baos);
                int len = baos.size();
                if (len == maxByteSize) {
                    break;
                } else if (len > maxByteSize) {
                    end = mid - 1;
                } else {
                    st = mid + 1;
                }
            }
            if (end == mid - 1) {
                baos.reset();
                src.compress(CompressFormat.JPEG, st, baos);
            }
            bytes = baos.toByteArray();
        }
    }
    if (recycle && !src.isRecycled()) src.recycle();
    return BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
}
 
源代码16 项目: TencentKona-8   文件: JFIFMarkerSegment.java
JFIFThumbJPEG(BufferedImage thumb) throws IllegalThumbException {
    int INITIAL_BUFSIZE = 4096;
    int MAZ_BUFSIZE = 65535 - 2 - PREAMBLE_SIZE;
    try {
        ByteArrayOutputStream baos =
            new ByteArrayOutputStream(INITIAL_BUFSIZE);
        MemoryCacheImageOutputStream mos =
            new MemoryCacheImageOutputStream(baos);

        JPEGImageWriter thumbWriter = new JPEGImageWriter(null);

        thumbWriter.setOutput(mos);

        // get default metadata for the thumb
        JPEGMetadata metadata =
            (JPEGMetadata) thumbWriter.getDefaultImageMetadata
            (new ImageTypeSpecifier(thumb), null);

        // Remove the jfif segment, which should be there.
        MarkerSegment jfif = metadata.findMarkerSegment
            (JFIFMarkerSegment.class, true);
        if (jfif == null) {
            throw new IllegalThumbException();
        }

        metadata.markerSequence.remove(jfif);

        /*  Use this if removing leaves a hole and causes trouble

        // Get the tree
        String format = metadata.getNativeMetadataFormatName();
        IIOMetadataNode tree =
        (IIOMetadataNode) metadata.getAsTree(format);

        // If there is no app0jfif node, the image is bad
        NodeList jfifs = tree.getElementsByTagName("app0JFIF");
        if (jfifs.getLength() == 0) {
        throw new IllegalThumbException();
        }

        // remove the app0jfif node
        Node jfif = jfifs.item(0);
        Node parent = jfif.getParentNode();
        parent.removeChild(jfif);

        metadata.setFromTree(format, tree);
        */

        thumbWriter.write(new IIOImage(thumb, null, metadata));

        thumbWriter.dispose();
        // Now check that the size is OK
        if (baos.size() > MAZ_BUFSIZE) {
            throw new IllegalThumbException();
        }
        data = baos.toByteArray();
    } catch (IOException e) {
        throw new IllegalThumbException();
    }
}
 
源代码17 项目: java-sdk   文件: LedgerHelper.java
public static byte[] unwrapResponseAPDU(int channel, byte[] data, int packetSize) throws IOException {
    ByteArrayOutputStream response = new ByteArrayOutputStream();
    int offset = 0;
    int responseLength;
    int sequenceIdx = 0;
    if ((data == null) || (data.length < 7 + 5)) {
        return null;
    }
    if (data[offset++] != (channel >> 8)) {
        throw new IOException("Invalid channel");
    }
    if (data[offset++] != (channel & 0xff)) {
        throw new IOException("Invalid channel");
    }
    if (data[offset++] != TAG_APDU) {
        throw new IOException("Invalid tag");
    }
    if (data[offset++] != 0x00) {
        throw new IOException("Invalid sequence");
    }
    if (data[offset++] != 0x00) {
        throw new IOException("Invalid sequence");
    }
    responseLength = ((data[offset++] & 0xff) << 8);
    responseLength |= (data[offset++] & 0xff);
    if (data.length < 7 + responseLength) {
        return null;
    }
    int blockSize = (responseLength > packetSize - 7 ? packetSize - 7 : responseLength);
    response.write(data, offset, blockSize);
    offset += blockSize;
    while (response.size() != responseLength) {
        sequenceIdx++;
        if (offset == data.length) {
            return null;
        }
        if (data[offset++] != (channel >> 8)) {
            throw new IOException("Invalid channel");
        }
        if (data[offset++] != (channel & 0xff)) {
            throw new IOException("Invalid channel");
        }
        if (data[offset++] != TAG_APDU) {
            throw new IOException("Invalid tag");
        }
        if (data[offset++] != (sequenceIdx >> 8)) {
            throw new IOException("Invalid sequence");
        }
        if (data[offset++] != (sequenceIdx & 0xff)) {
            throw new IOException("Invalid sequence");
        }
        blockSize = (responseLength - response.size() > packetSize - 5 ? packetSize - 5 : responseLength - response.size());
        if (blockSize > data.length - offset) {
            return null;
        }
        response.write(data, offset, blockSize);
        offset += blockSize;
    }
    return response.toByteArray();
}
 
源代码18 项目: Android-POS   文件: SmartPost.java
/**
 * ����
 * @param cmd ��������������CMD��
 * @param path ������������
 * @param amount ��������N12
 * @param certificateNo ������������n6(��������)
 * @return
 */
public static byte[] InitMessage(byte[] cmd, byte path, BigDecimal amount,
		String certificateNo) {
	ByteArrayOutputStream baos = new ByteArrayOutputStream();
	try {
		baos.write(PostDefine.START);
		baos.write(PostDefine.STX);
		
		ByteArrayOutputStream lsContent = new ByteArrayOutputStream();
		lsContent.write(path);
		lsContent.write(PostDefine.TYPE_1);
		lsContent.write(id);
		lsContent.write(cmd);
		lsContent.write(PostDefine.FS);
		lsContent.write(businessNo.getBytes());
		lsContent.write(PostDefine.FS);
		lsContent.write(terminalNo.getBytes());
		lsContent.write(PostDefine.FS);
		lsContent.write(business_zh.getBytes());
		lsContent.write(PostDefine.FS);
		lsContent.write(business_en.getBytes());

		if (amount.intValue() > -1) {
			lsContent.write(PostDefine.FS);
		//	int value = (int) (amount.intValue() * 100);
			int value = (int) amount.intValue();
			NumberFormat numberFormat = new DecimalFormat("#000000000000");
			lsContent.write(numberFormat.format(value).getBytes());

			// ��������,������������
			if (certificateNo != null) {
				lsContent.write(PostDefine.FS);
				lsContent.write(certificateNo.getBytes());
			}
		}
		int len = lsContent.size();
		baos.write(Function.toHex2Len(len));
		baos.write(lsContent.toByteArray());
		baos.write(PostDefine.ETX);
		
		byte[] buffer = baos.toByteArray();
		byte[] LRCContent = new byte[buffer.length-4];
		System.arraycopy(buffer, 4, LRCContent, 0, buffer.length-4);
		byte LRC = Function.Enteryparity(LRCContent);
		
		baos.write(LRC);
		baos.write(PostDefine.END);
		lsContent.close();
		baos.close();
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	return baos.toByteArray();
}
 
源代码19 项目: PacketProxy   文件: ProxyHttpTransparent.java
private void createHttpTransparentProxy(Socket client) throws Exception {
	InputStream ins = client.getInputStream();
	ByteArrayOutputStream bout = new ByteArrayOutputStream();
	HostPort hostPort = null;

	byte[] input_data = new byte[4096];
	int length = 0;
	while ((length = ins.read(input_data, 0, input_data.length)) != -1) {
		bout.write(input_data, 0, length);
		int accepted_input_size = 0;
		if (bout.size() > 0 && (accepted_input_size = Http.parseHttpDelimiter(bout.toByteArray())) > 0) {
			hostPort = parseHostName(ArrayUtils.subarray(bout.toByteArray(), 0, accepted_input_size));
			break;
		}
	}
	if (hostPort == null) {
		PacketProxyUtility.getInstance().packetProxyLogErr(new String(input_data));
		PacketProxyUtility.getInstance().packetProxyLogErr("bout length == " + bout.size());
		if(bout.size() == 0){
			PacketProxyUtility.getInstance().packetProxyLogErr("empty request!!");
			return;
		}
		PacketProxyUtility.getInstance().packetProxyLogErr("HTTP Host field is not found.");
		return ;
	}

	ByteArrayInputStream lookaheadBuffer = new ByteArrayInputStream(bout.toByteArray());

	try {
		Endpoint client_e = EndpointFactory.createClientEndpoint(client, lookaheadBuffer);
		Endpoint server_e = EndpointFactory.createServerEndpoint(hostPort.getInetSocketAddress());


		Server server = Servers.getInstance().queryByHostNameAndPort(hostPort.getHostName(), listen_info.getPort());
		createConnection(client_e, server_e, server);
	} 
	catch(ConnectException e) {
		InetSocketAddress addr = hostPort.getInetSocketAddress();
		PacketProxyUtility.getInstance().packetProxyLog("Connection Refused: " + addr.getHostName() + ":" + addr.getPort());
		e.printStackTrace();
	}
}
 
源代码20 项目: jdk8u60   文件: JFIFMarkerSegment.java
JFIFThumbJPEG(BufferedImage thumb) throws IllegalThumbException {
    int INITIAL_BUFSIZE = 4096;
    int MAZ_BUFSIZE = 65535 - 2 - PREAMBLE_SIZE;
    try {
        ByteArrayOutputStream baos =
            new ByteArrayOutputStream(INITIAL_BUFSIZE);
        MemoryCacheImageOutputStream mos =
            new MemoryCacheImageOutputStream(baos);

        JPEGImageWriter thumbWriter = new JPEGImageWriter(null);

        thumbWriter.setOutput(mos);

        // get default metadata for the thumb
        JPEGMetadata metadata =
            (JPEGMetadata) thumbWriter.getDefaultImageMetadata
            (new ImageTypeSpecifier(thumb), null);

        // Remove the jfif segment, which should be there.
        MarkerSegment jfif = metadata.findMarkerSegment
            (JFIFMarkerSegment.class, true);
        if (jfif == null) {
            throw new IllegalThumbException();
        }

        metadata.markerSequence.remove(jfif);

        /*  Use this if removing leaves a hole and causes trouble

        // Get the tree
        String format = metadata.getNativeMetadataFormatName();
        IIOMetadataNode tree =
        (IIOMetadataNode) metadata.getAsTree(format);

        // If there is no app0jfif node, the image is bad
        NodeList jfifs = tree.getElementsByTagName("app0JFIF");
        if (jfifs.getLength() == 0) {
        throw new IllegalThumbException();
        }

        // remove the app0jfif node
        Node jfif = jfifs.item(0);
        Node parent = jfif.getParentNode();
        parent.removeChild(jfif);

        metadata.setFromTree(format, tree);
        */

        thumbWriter.write(new IIOImage(thumb, null, metadata));

        thumbWriter.dispose();
        // Now check that the size is OK
        if (baos.size() > MAZ_BUFSIZE) {
            throw new IllegalThumbException();
        }
        data = baos.toByteArray();
    } catch (IOException e) {
        throw new IllegalThumbException();
    }
}