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

下面列出了java.io.ByteArrayOutputStream#writeTo ( ) 实例代码,或者点击链接到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 项目: spring-analysis-note   文件: MarshallingView.java
@Override
protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request,
		HttpServletResponse response) throws Exception {

	Object toBeMarshalled = locateToBeMarshalled(model);
	if (toBeMarshalled == null) {
		throw new IllegalStateException("Unable to locate object to be marshalled in model: " + model);
	}

	Assert.state(this.marshaller != null, "No Marshaller set");
	ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
	this.marshaller.marshal(toBeMarshalled, new StreamResult(baos));

	setResponseContentType(request, response);
	response.setContentLength(baos.size());
	baos.writeTo(response.getOutputStream());
}
 
源代码3 项目: dts   文件: MetricsHttpServer.java
public void handle(HttpExchange t) throws IOException {
    String query = t.getRequestURI().getRawQuery();
    ByteArrayOutputStream response = this.response.get();
    response.reset();
    OutputStreamWriter osw = new OutputStreamWriter(response);
    TextFormat.write004(osw, registry.filteredMetricFamilySamples(parseQuery(query)));
    osw.flush();
    osw.close();
    response.flush();
    response.close();
    t.getResponseHeaders().set("Content-Type", TextFormat.CONTENT_TYPE_004);
    t.getResponseHeaders().set("Content-Length", String.valueOf(response.size()));
    if (shouldUseCompression(t)) {
        t.getResponseHeaders().set("Content-Encoding", "gzip");
        t.sendResponseHeaders(HttpURLConnection.HTTP_OK, 0);
        final GZIPOutputStream os = new GZIPOutputStream(t.getResponseBody());
        response.writeTo(os);
        os.finish();
    } else {
        t.sendResponseHeaders(HttpURLConnection.HTTP_OK, response.size());
        response.writeTo(t.getResponseBody());
    }
    t.close();
}
 
源代码4 项目: cubeai   文件: DownloadResource.java
@RequestMapping(value = "/download", method = RequestMethod.GET)
@Timed
public void downloadArtifact(@RequestParam(value = "url") String url, HttpServletResponse response) {
    log.debug("REST request to download artifact/document file");

    // 暂时不在HTTP响应头中传递文件名,因为文件名可能是中文
    // String fileName = url.substring(artifactUrl.lastIndexOf("/") + 1);
    response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
    response.setHeader("Pragma", "no-cache");
    response.setHeader("Expires", "0");
    response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
    // response.setHeader("x-filename", fileName);
    // response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
    response.setHeader("Content-Disposition", "attachment");
    response.setStatus(HttpServletResponse.SC_OK);

    try {
        ByteArrayOutputStream byteArrayOutputStream = nexusArtifactClient.getArtifact(url);
        byteArrayOutputStream.writeTo(response.getOutputStream());
        response.flushBuffer();
        if (null != byteArrayOutputStream) {
            byteArrayOutputStream.close();
        }
    } catch (Exception e) {
    }
}
 
源代码5 项目: java-technology-stack   文件: MarshallingView.java
@Override
protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request,
		HttpServletResponse response) throws Exception {

	Object toBeMarshalled = locateToBeMarshalled(model);
	if (toBeMarshalled == null) {
		throw new IllegalStateException("Unable to locate object to be marshalled in model: " + model);
	}

	Assert.state(this.marshaller != null, "No Marshaller set");
	ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
	this.marshaller.marshal(toBeMarshalled, new StreamResult(baos));

	setResponseContentType(request, response);
	response.setContentLength(baos.size());
	baos.writeTo(response.getOutputStream());
}
 
源代码6 项目: freehealth-connector   文件: MessageDumper.java
public void dump(ByteArrayOutputStream bos, String name, String way) {
   try {
      if (path != null && !"".equals(path)) {
         File dir = new File(path);
         if (dir.exists() && dir.isDirectory()) {
            OutputStream fos = new FileOutputStream(this.generateFileName(name, way));
            bos.writeTo(fos);
            fos.close();
         }
      }
   } catch (FileNotFoundException var6) {
      LOG.error("dump error", var6);
   } catch (IOException var7) {
      LOG.error("dump error", var7);
   }

}
 
源代码7 项目: taoshop   文件: CodeController.java
@RequestMapping("/generate")
public void generate(HttpServletResponse response){
	ByteArrayOutputStream output = new ByteArrayOutputStream();
	String code = drawImg(output);
	
	Subject currentUser = SecurityUtils.getSubject();  
	Session session = currentUser.getSession();
	session.setAttribute(Constants.SESSION_SECURITY_CODE, code);

	try {
		ServletOutputStream out = response.getOutputStream();
		output.writeTo(out);
	} catch (IOException e) {
		e.printStackTrace();
	}
}
 
源代码8 项目: taoshop   文件: CodeController.java
@RequestMapping("/generate")
	public void generate(HttpServletRequest request, HttpServletResponse response){
		ByteArrayOutputStream output = new ByteArrayOutputStream();
		String code = drawImg(output);

//		Subject currentUser = SecurityUtils.getSubject();
//		Session session = currentUser.getSession();
		HttpSession session = request.getSession();
		session.setAttribute(SESSION_SECURITY_CODE, code);

		try {
			ServletOutputStream out = response.getOutputStream();
			output.writeTo(out);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
 
源代码9 项目: testarea-itext5   文件: MemoryConsumption.java
/**
 * <a href="http://stackoverflow.com/questions/38989235/itext-html-to-pdf-memory-leak">
 * IText HTML to PDF memory leak
 * </a>
 * <p>
 * The OP's code plus a save-to-file.
 * </p>
 */
public void testDevelofersScenario(String outputName) throws IOException, DocumentException
{
    final String content = "<!--?xml version=\"1.0\" encoding=\"UTF-8\"?-->\n<html>\n <head>\n    <title>Title</title>\n    \n   \n </head>\n"
            + "\n    \n<body>  \n  \n      \nEXAMPLE\n\n</body>\n</html>";

    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    Document document = new Document();
    PdfWriter writer = PdfWriter.getInstance(document, baos);        
    document.open();
    InputStream is = new ByteArrayInputStream(content.getBytes());
    XMLWorkerHelper.getInstance().parseXHtml(writer, document, is);

    document.close();
    
    baos.writeTo(new FileOutputStream(new File(RESULT_FOLDER, outputName)));
}
 
源代码10 项目: spring-analysis-note   文件: AbstractView.java
/**
 * Write the given temporary OutputStream to the HTTP response.
 * @param response current HTTP response
 * @param baos the temporary OutputStream to write
 * @throws IOException if writing/flushing failed
 */
protected void writeToResponse(HttpServletResponse response, ByteArrayOutputStream baos) throws IOException {
	// Write content type and also length (determined via byte array).
	response.setContentType(getContentType());
	response.setContentLength(baos.size());

	// Flush byte array to servlet output stream.
	ServletOutputStream out = response.getOutputStream();
	baos.writeTo(out);
	out.flush();
}
 
源代码11 项目: tds   文件: CdmrGridController.java
private long sendData(Array data, OutputStream out, boolean deflate) throws IOException, InvalidRangeException {

    // 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;
      float ratio = ((float) uncompressedLength) / deflatedSize;
      if (showRes)
        System.out.printf("  org/compress= %d/%d = %f%n", uncompressedLength, deflatedSize, ratio);

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

    return size;
  }
 
源代码12 项目: java-technology-stack   文件: AbstractView.java
/**
 * Write the given temporary OutputStream to the HTTP response.
 * @param response current HTTP response
 * @param baos the temporary OutputStream to write
 * @throws IOException if writing/flushing failed
 */
protected void writeToResponse(HttpServletResponse response, ByteArrayOutputStream baos) throws IOException {
	// Write content type and also length (determined via byte array).
	response.setContentType(getContentType());
	response.setContentLength(baos.size());

	// Flush byte array to servlet output stream.
	ServletOutputStream out = response.getOutputStream();
	baos.writeTo(out);
	out.flush();
}
 
源代码13 项目: freehealth-connector   文件: MessageDumper.java
/**
 * Dump.
 * 
 * @param bos the bos
 * @param name the name
 */
public void dump(ByteArrayOutputStream bos, String name, String way) {
	try {
		if (path != null && !"".equals(path)) {
			File dir = new File(path);
			if(dir.exists() && dir.isDirectory()) {
				OutputStream fos = new FileOutputStream(generateFileName(name, way));
				bos.writeTo(fos); 
				fos.close();			
			}
		}
	} catch (IOException e) {
		LOG.error("dump error",e);
	} 
}
 
@Override
protected synchronized void writeHeader(final long firstEventId, final DataOutputStream out) throws IOException {
    final ByteArrayOutputStream baos = new ByteArrayOutputStream();
    eventSchema.writeTo(baos);

    out.writeInt(baos.size());
    baos.writeTo(out);

    baos.reset();
    headerSchema.writeTo(baos);
    out.writeInt(baos.size());
    baos.writeTo(out);

    this.firstEventId = firstEventId;
    this.systemTimeOffset = System.currentTimeMillis();

    final Map<String, Object> headerValues = new HashMap<>();
    headerValues.put(EventIdFirstHeaderSchema.FieldNames.FIRST_EVENT_ID, firstEventId);
    headerValues.put(EventIdFirstHeaderSchema.FieldNames.TIMESTAMP_OFFSET, systemTimeOffset);
    headerValues.put(EventIdFirstHeaderSchema.FieldNames.COMPONENT_IDS, idLookup.getComponentIdentifiers());
    headerValues.put(EventIdFirstHeaderSchema.FieldNames.COMPONENT_TYPES, idLookup.getComponentTypes());
    headerValues.put(EventIdFirstHeaderSchema.FieldNames.QUEUE_IDS, idLookup.getQueueIdentifiers());
    headerValues.put(EventIdFirstHeaderSchema.FieldNames.EVENT_TYPES, eventTypeNames);
    final FieldMapRecord headerInfo = new FieldMapRecord(headerSchema, headerValues);

    schemaRecordWriter.writeRecord(headerInfo, out);
}
 
@Override
public void writeHeader(final long firstEventId, final DataOutputStream out) throws IOException {
    final ByteArrayOutputStream baos = new ByteArrayOutputStream();
    eventSchema.writeTo(baos);

    out.writeInt(baos.size());
    baos.writeTo(out);
}
 
/**
 * Creates a SchemaRecordWriter that uses a modified schema
 *
 * @param fieldModifier the callback for modifying the schema
 * @return a SchemaRecordWriter that uses the modified schema
 * @throws IOException if unable to create the writer
 */
private ByteArraySchemaRecordWriter createSchemaWriter(final Consumer<List<RecordField>> fieldModifier, final Map<RecordField, Object> fieldsToAdd) throws IOException {
    final TocWriter tocWriter = new StandardTocWriter(tocFile, false, false);

    // Create a schema that has the fields modified
    final RecordSchema schemaV1 = ProvenanceEventSchema.PROVENANCE_EVENT_SCHEMA_V1;
    final List<RecordField> fields = new ArrayList<>(schemaV1.getFields());
    fieldModifier.accept(fields);

    final RecordSchema recordSchema = new RecordSchema(fields);
    final RecordSchema contentClaimSchema = new RecordSchema(recordSchema.getField(EventFieldNames.CONTENT_CLAIM).getSubFields());

    final ByteArraySchemaRecordWriter writer = new ByteArraySchemaRecordWriter(journalFile, idGenerator, tocWriter, false, 0) {
        @Override
        public void writeHeader(long firstEventId, DataOutputStream out) throws IOException {
            final ByteArrayOutputStream baos = new ByteArrayOutputStream();
            recordSchema.writeTo(baos);

            out.writeInt(baos.size());
            baos.writeTo(out);
        }

        @Override
        protected Record createRecord(final ProvenanceEventRecord event, final long eventId) {
            final Map<RecordField, Object> values = new HashMap<>();

            final EventRecord eventRecord = new EventRecord(event, eventId, recordSchema, contentClaimSchema);
            for (final RecordField field : recordSchema.getFields()) {
                final Object value = eventRecord.getFieldValue(field);
                values.put(field, value);
            }

            values.putAll(fieldsToAdd);
            return new FieldMapRecord(values, recordSchema);
        }
    };

    return writer;
}
 
源代码17 项目: android_9.0.0_r45   文件: ViewDebug.java
private static void captureViewLayer(View view, DataOutputStream clientStream, boolean visible)
        throws IOException {

    final boolean localVisible = view.getVisibility() == View.VISIBLE && visible;

    if ((view.mPrivateFlags & View.PFLAG_SKIP_DRAW) != View.PFLAG_SKIP_DRAW) {
        final int id = view.getId();
        String name = view.getClass().getSimpleName();
        if (id != View.NO_ID) {
            name = resolveId(view.getContext(), id).toString();
        }

        clientStream.write(1);
        clientStream.writeUTF(name);
        clientStream.writeByte(localVisible ? 1 : 0);

        int[] position = new int[2];
        // XXX: Should happen on the UI thread
        view.getLocationInWindow(position);

        clientStream.writeInt(position[0]);
        clientStream.writeInt(position[1]);
        clientStream.flush();

        Bitmap b = performViewCapture(view, true);
        if (b != null) {
            ByteArrayOutputStream arrayOut = new ByteArrayOutputStream(b.getWidth() *
                    b.getHeight() * 2);
            b.compress(Bitmap.CompressFormat.PNG, 100, arrayOut);
            clientStream.writeInt(arrayOut.size());
            arrayOut.writeTo(clientStream);
        }
        clientStream.flush();
    }

    if (view instanceof ViewGroup) {
        ViewGroup group = (ViewGroup) view;
        int count = group.getChildCount();

        for (int i = 0; i < count; i++) {
            captureViewLayer(group.getChildAt(i), clientStream, localVisible);
        }
    }

    if (view.mOverlay != null) {
        ViewGroup overlayContainer = view.getOverlay().mOverlayViewGroup;
        captureViewLayer(overlayContainer, clientStream, localVisible);
    }
}
 
private <T> void serialize(final T value, final Serializer<T> serializer, final DataOutputStream dos) throws IOException {
    final ByteArrayOutputStream baos = new ByteArrayOutputStream();
    serializer.serialize(value, baos);
    dos.writeInt(baos.size());
    baos.writeTo(dos);
}
 
/**
 * Set the given serialized remote invocation as request body.
 * <p>The default implementation simply write the serialized invocation to the
 * HttpURLConnection's OutputStream. This can be overridden, for example, to write
 * a specific encoding and potentially set appropriate HTTP request headers.
 * @param config the HTTP invoker configuration that specifies the target service
 * @param con the HttpURLConnection to write the request body to
 * @param baos the ByteArrayOutputStream that contains the serialized
 * RemoteInvocation object
 * @throws IOException if thrown by I/O methods
 * @see java.net.HttpURLConnection#getOutputStream()
 * @see java.net.HttpURLConnection#setRequestProperty
 */
protected void writeRequestBody(
		HttpInvokerClientConfiguration config, HttpURLConnection con, ByteArrayOutputStream baos)
		throws IOException {

	baos.writeTo(con.getOutputStream());
}
 
/**
 * Set the given serialized remote invocation as request body.
 * <p>The default implementation simply write the serialized invocation to the
 * HttpURLConnection's OutputStream. This can be overridden, for example, to write
 * a specific encoding and potentially set appropriate HTTP request headers.
 * @param config the HTTP invoker configuration that specifies the target service
 * @param con the HttpURLConnection to write the request body to
 * @param baos the ByteArrayOutputStream that contains the serialized
 * RemoteInvocation object
 * @throws IOException if thrown by I/O methods
 * @see java.net.HttpURLConnection#getOutputStream()
 * @see java.net.HttpURLConnection#setRequestProperty
 */
protected void writeRequestBody(
		HttpInvokerClientConfiguration config, HttpURLConnection con, ByteArrayOutputStream baos)
		throws IOException {

	baos.writeTo(con.getOutputStream());
}