Chapter 7. Message delivery
7.1. Writing to a streamed large message
To write to a large message, use the BytesMessage.writeBytes()
method. The following example reads bytes from a file and writes them to a message:
Example: Writing to a streamed large message
BytesMessage message = session.createBytesMessage(); File inputFile = new File(inputFilePath); InputStream inputStream = new FileInputStream(inputFile); int numRead; byte[] buffer = new byte[1024]; while ((numRead = inputStream.read(buffer, 0, buffer.length)) != -1) { message.writeBytes(buffer, 0, numRead); }
7.2. Reading from a streamed large message
To read from a large message, use the BytesMessage.readBytes()
method. The following example reads bytes from a message and writes them to a file:
Example: Reading from a streamed large message
BytesMessage message = (BytesMessage) consumer.receive(); File outputFile = new File(outputFilePath); OutputStream outputStream = new FileOutputStream(outputFile); int numRead; byte buffer[] = new byte[1024]; for (int pos = 0; pos < message.getBodyLength(); pos += buffer.length) { numRead = message.readBytes(buffer); outputStream.write(buffer, 0, numRead); }