Java 类org.apache.commons.io.output.CountingOutputStream 实例源码

项目:wekaDeeplearning4j    文件:Dl4jMlpClassifier.java   
/**
 * Custom serialization method.
 *
 * @param oos the object output stream
 * @throws IOException
 */
protected void writeObject(ObjectOutputStream oos) throws IOException {

  // figure out size of the written network
  CountingOutputStream cos = new CountingOutputStream(new NullOutputStream());
  if (replaceMissingFilter != null) {
    ModelSerializer.writeModel(model, cos, false);
  }
  modelSize = cos.getByteCount();

  // default serialization
  oos.defaultWriteObject();

  // actually write the network
  if (replaceMissingFilter != null) {
    ModelSerializer.writeModel(model, oos, false);
  }
}
项目:bender    文件:S3TransportBuffer.java   
public S3TransportBuffer(long maxBytes, boolean useCompression, S3TransportSerializer serializer)
    throws TransportException {
  this.maxBytes = maxBytes;
  this.serializer = serializer;

  baos = new ByteArrayOutputStream();
  cos = new CountingOutputStream(baos);

  if (useCompression) {
    this.isCompressed = true;
    try {
      os = new BZip2CompressorOutputStream(cos);
    } catch (IOException e) {
      throw new TransportException("unable to create BZip2CompressorOutputStream", e);
    }
  } else {
    this.isCompressed = false;
    os = cos;
  }
}
项目:CircuitService    文件:ProgServer.java   
/**
 * Establish socket connection with client
 */
private void create_socket_and_listen() throws Exception {
    sock = new ServerSocket(EstimateNConfig.socketPort);            // create socket and bind to port
    System.out.println("waiting for client to connect");
    clientSocket = sock.accept();                   // wait for client to connect
    System.out.println("client has connected");

    CountingOutputStream cos = new CountingOutputStream(clientSocket.getOutputStream());
    CountingInputStream cis = new CountingInputStream(clientSocket.getInputStream());

    ProgCommon.oos = new ObjectOutputStream(cos);
    ProgCommon.ois = new ObjectInputStream(cis);

    StopWatch.cos = cos;
    StopWatch.cis = cis;
}
项目:fop    文件:AbstractPDFStream.java   
/**
 * Encodes and writes a stream directly to an OutputStream. The length of
 * the stream, in this case, is set on a PDFNumber object that has to be
 * prepared beforehand.
 * @param out OutputStream to write to
 * @param refLength PDFNumber object to receive the stream length
 * @return number of bytes written (header and trailer included)
 * @throws IOException in case of an I/O problem
 */
protected int encodeAndWriteStream(OutputStream out, PDFNumber refLength)
            throws IOException {
    int bytesWritten = 0;
    //Stream header
    byte[] buf = encode("stream\n");
    out.write(buf);
    bytesWritten += buf.length;

    //Stream contents
    CloseBlockerOutputStream cbout = new CloseBlockerOutputStream(out);
    CountingOutputStream cout = new CountingOutputStream(cbout);
    OutputStream filteredOutput = getFilterList().applyFilters(cout);
    outputRawStreamData(filteredOutput);
    filteredOutput.close();
    refLength.setNumber(Integer.valueOf(cout.getCount()));
    bytesWritten += cout.getCount();

    //Stream trailer
    buf = encode("\nendstream");
    out.write(buf);
    bytesWritten += buf.length;

    return bytesWritten;
}
项目:fop    文件:PDFNumsArray.java   
/** {@inheritDoc} */
@Override
public int output(OutputStream stream) throws IOException {
    CountingOutputStream cout = new CountingOutputStream(stream);
    StringBuilder textBuffer = new StringBuilder(64);
    textBuffer.append('[');
    boolean first = true;
    for (Map.Entry<Integer, Object> entry : this.map.entrySet()) {
        if (!first) {
            textBuffer.append(" ");
        }
        first = false;
        formatObject(entry.getKey(), cout, textBuffer);
        textBuffer.append(" ");
        formatObject(entry.getValue(), cout, textBuffer);
    }
    textBuffer.append(']');
    PDFDocument.flushTextBuffer(textBuffer, cout);
    return cout.getCount();
}
项目:fop    文件:PDFArray.java   
/** {@inheritDoc} */
@Override
public int output(OutputStream stream) throws IOException {
    CountingOutputStream cout = new CountingOutputStream(stream);
    StringBuilder textBuffer = new StringBuilder(64);
    textBuffer.append('[');
    for (int i = 0; i < values.size(); i++) {
        if (i > 0) {
            textBuffer.append(' ');
        }
        Object obj = this.values.get(i);
        formatObject(obj, cout, textBuffer);
    }
    textBuffer.append(']');
    PDFDocument.flushTextBuffer(textBuffer, cout);
    return cout.getCount();
}
项目:fop    文件:PDFNameTestCase.java   
/**
 * Test outputInline() - this writes the object reference if it is a direct object (has an
 * object number), or writes the String representation if there is no object number.
 */
@Test
public void testOutputInline() {
    ByteArrayOutputStream outStream = new ByteArrayOutputStream();
    CountingOutputStream cout = new CountingOutputStream(outStream);
    StringBuilder textBuffer = new StringBuilder();
    try {
        // test with no object number set.
        pdfName.outputInline(outStream, textBuffer);
        PDFDocument.flushTextBuffer(textBuffer, cout);
        assertEquals("/TestName", outStream.toString());

        outStream.reset();
        // test with object number set
        pdfName.setObjectNumber(1);
        pdfName.outputInline(outStream, textBuffer);
        PDFDocument.flushTextBuffer(textBuffer, cout);
        assertEquals("1 0 R", outStream.toString());
    } catch (IOException e) {
        fail("IOException: " + e.getMessage());
    }
}
项目:q-mail    文件:ProgressBodyFactory.java   
@Override
protected void copyData(InputStream inputStream, OutputStream outputStream) throws IOException {
    final CountingOutputStream countingOutputStream = new CountingOutputStream(outputStream);

    Timer timer = new Timer();
    try {
        timer.scheduleAtFixedRate(new TimerTask() {
            @Override
            public void run() {
                progressListener.updateProgress(countingOutputStream.getCount());
            }
        }, 0, 50);

        super.copyData(inputStream, countingOutputStream);
    } finally {
        timer.cancel();
    }
}
项目:aliyun-maxcompute-data-collectors    文件:LobFile.java   
/**
 * Open the file and write its header.
 */
private void init() throws IOException {
  FileSystem fs = this.path.getFileSystem(conf);
  FSDataOutputStream fsOut = fs.create(this.path);
  this.countingOut = new CountingOutputStream(
      new BufferedOutputStream(fsOut));
  this.out = new DataOutputStream(this.countingOut);

  // put any necessary config strings into the header.
  MetaBlock m = this.header.getMetaBlock();
  if (isCharData) {
    m.put(MetaBlock.ENTRY_ENCODING_KEY, MetaBlock.CLOB_ENCODING);
  } else {
    m.put(MetaBlock.ENTRY_ENCODING_KEY, MetaBlock.BLOB_ENCODING);
  }

  if (null != codec) {
    m.put(MetaBlock.COMPRESSION_CODEC_KEY, this.codecName);
  }

  // Serialize the value of maxEntriesPerSegment as a VInt in a byte array
  // and put that into the metablock as ENTRIES_PER_SEGMENT_KEY.
  int segmentBufLen = WritableUtils.getVIntSize(this.maxEntriesPerSegment);
  DataOutputBuffer entriesPerSegBuf = new DataOutputBuffer(segmentBufLen);
  WritableUtils.writeVInt(entriesPerSegBuf, this.maxEntriesPerSegment);
  byte [] entriesPerSegArray =
      Arrays.copyOf(entriesPerSegBuf.getData(), segmentBufLen);
  m.put(MetaBlock.ENTRIES_PER_SEGMENT_KEY,
      new BytesWritable(entriesPerSegArray));

  // Write the file header to the file.
  this.header.write(out);

  // Now we're ready to accept record data from the user.
}
项目:aliyun-maxcompute-data-collectors    文件:LobFile.java   
@Override
/**
 * {@inheritDoc}
 */
public OutputStream writeBlobRecord(long claimedLen) throws IOException {
  finishRecord(); // finish any previous record.
  checkForNull(this.out);
  startRecordIndex();
  this.header.getStartMark().write(out);
  LOG.debug("Starting new record; id=" + curEntryId
      + "; claimedLen=" + claimedLen);
  WritableUtils.writeVLong(out, curEntryId);
  WritableUtils.writeVLong(out, claimedLen);
  this.curClaimedLen = claimedLen;
  this.userCountingOutputStream = new CountingOutputStream(
      new CloseShieldOutputStream(out));
  if (null == this.codec) {
    // No codec; pass thru the same OutputStream to the user.
    this.userOutputStream = this.userCountingOutputStream;
  } else {
    // Wrap our CountingOutputStream in a compressing OutputStream to
    // give to the user.
    this.compressor.reset();
    this.userOutputStream = new CompressorStream(
        this.userCountingOutputStream, compressor);
  }

  return this.userOutputStream;
}
项目:aliyun-maxcompute-data-collectors    文件:SplittingOutputStream.java   
/** Initialize the OutputStream to the next file to write to.
 */
private void openNextFile() throws IOException {
  StringBuffer sb = new StringBuffer();
  Formatter fmt = new Formatter(sb);
  fmt.format("%05d", this.fileNum++);
  String filename = filePrefix + fmt.toString();
  if (codec != null) {
    filename = filename + codec.getDefaultExtension();
  }
  Path destFile = new Path(destDir, filename);
  FileSystem fs = destFile.getFileSystem(conf);
  LOG.debug("Opening next output file: " + destFile);
  if (fs.exists(destFile)) {
    Path canonicalDest = destFile.makeQualified(fs);
    throw new IOException("Destination file " + canonicalDest
        + " already exists");
  }

  OutputStream fsOut = fs.create(destFile);

  // Count how many actual bytes hit HDFS.
  this.countingFilterStream = new CountingOutputStream(fsOut);

  if (codec != null) {
    // Wrap that in a compressing stream.
    this.writeStream = codec.createOutputStream(this.countingFilterStream);
  } else {
    // Write to the counting stream directly.
    this.writeStream = this.countingFilterStream;
  }
}
项目:nexus-repository-apt    文件:CompressingTempFileStore.java   
public FileHolder() throws IOException {
  super();
  this.plainTempFile = Files.createTempFile("", "");
  this.plainStream = new CountingOutputStream(Files.newOutputStream(plainTempFile));
  this.gzTempFile = Files.createTempFile("", "");
  this.gzStream = new CountingOutputStream(Files.newOutputStream(gzTempFile));
  this.bzTempFile = Files.createTempFile("", "");
  this.bzStream = new CountingOutputStream(Files.newOutputStream(bzTempFile));
}
项目:davos    文件:FTPConnectionTest.java   
@Test
public void downloadMethodShouldCreateLocalFileStreamContainingProgressListener() throws IOException {

    FTPFile file = new FTPFile("remote.file", 0l, "path/to", 0, false);

    ftpConnection.setProgressListener(new ProgressListener());
    ftpConnection.download(file, LOCAL_DIRECTORY);

    verify(mockFileStreamFactory).createOutputStream(LOCAL_DIRECTORY + "/remote.file");
    verify(mockFtpClient).retrieveFile(eq("path/to/remote.file"), any(CountingOutputStream.class));
}
项目:Megh    文件:MockFileAccess.java   
@Override
public FileWriter getWriter(final long bucketKey, final String fileName) throws IOException
{
  final DataOutputStream dos = getOutputStream(bucketKey, fileName);
  final CountingOutputStream cos = new CountingOutputStream(dos);
  final Output out = new Output(cos);

  return new FileWriter()
  {
    @Override
    public void close() throws IOException
    {
      out.close();
      cos.close();
      dos.close();
    }

    @Override
    public void append(byte[] key, byte[] value) throws IOException
    {
      kryo.writeObject(out, key);
      kryo.writeObject(out, value);
    }

    @Override
    public long getBytesWritten()
    {
      return cos.getCount() + out.position();
    }

  };

}
项目:datacollector    文件:RecordWriter.java   
public RecordWriter(Path path, long timeToLiveMillis, OutputStream textOutputStream,
                    DataGeneratorFactory generatorFactory, StreamCloseEventHandler streamCloseEventHandler) throws StageException, IOException {
  this(path, timeToLiveMillis, generatorFactory);
  this.textOutputStream = new CountingOutputStream(textOutputStream);
  generator = generatorFactory.getGenerator(this.textOutputStream, streamCloseEventHandler);
  textFile = true;
  this.idleTimeout = -1L;
}
项目:datacollector    文件:DefaultOutputStreamHandler.java   
@Override
public CountingOutputStream getOutputStream(String filePath)
    throws StageException, IOException {
  ADLFileOutputStream stream;
  if (!client.checkExists(filePath)) {
    stream = client.createFile(filePath, IfExists.FAIL);
  } else {
    stream = client.getAppendStream(filePath);
  }

  countingOutputStream = new CountingOutputStream(stream);

  return countingOutputStream;
}
项目:zSqoop    文件:LobFile.java   
/**
 * Open the file and write its header.
 */
private void init() throws IOException {
  FileSystem fs = this.path.getFileSystem(conf);
  FSDataOutputStream fsOut = fs.create(this.path);
  this.countingOut = new CountingOutputStream(
      new BufferedOutputStream(fsOut));
  this.out = new DataOutputStream(this.countingOut);

  // put any necessary config strings into the header.
  MetaBlock m = this.header.getMetaBlock();
  if (isCharData) {
    m.put(MetaBlock.ENTRY_ENCODING_KEY, MetaBlock.CLOB_ENCODING);
  } else {
    m.put(MetaBlock.ENTRY_ENCODING_KEY, MetaBlock.BLOB_ENCODING);
  }

  if (null != codec) {
    m.put(MetaBlock.COMPRESSION_CODEC_KEY, this.codecName);
  }

  // Serialize the value of maxEntriesPerSegment as a VInt in a byte array
  // and put that into the metablock as ENTRIES_PER_SEGMENT_KEY.
  int segmentBufLen = WritableUtils.getVIntSize(this.maxEntriesPerSegment);
  DataOutputBuffer entriesPerSegBuf = new DataOutputBuffer(segmentBufLen);
  WritableUtils.writeVInt(entriesPerSegBuf, this.maxEntriesPerSegment);
  byte [] entriesPerSegArray =
      Arrays.copyOf(entriesPerSegBuf.getData(), segmentBufLen);
  m.put(MetaBlock.ENTRIES_PER_SEGMENT_KEY,
      new BytesWritable(entriesPerSegArray));

  // Write the file header to the file.
  this.header.write(out);

  // Now we're ready to accept record data from the user.
}
项目:zSqoop    文件:LobFile.java   
@Override
/**
 * {@inheritDoc}
 */
public OutputStream writeBlobRecord(long claimedLen) throws IOException {
  finishRecord(); // finish any previous record.
  checkForNull(this.out);
  startRecordIndex();
  this.header.getStartMark().write(out);
  LOG.debug("Starting new record; id=" + curEntryId
      + "; claimedLen=" + claimedLen);
  WritableUtils.writeVLong(out, curEntryId);
  WritableUtils.writeVLong(out, claimedLen);
  this.curClaimedLen = claimedLen;
  this.userCountingOutputStream = new CountingOutputStream(
      new CloseShieldOutputStream(out));
  if (null == this.codec) {
    // No codec; pass thru the same OutputStream to the user.
    this.userOutputStream = this.userCountingOutputStream;
  } else {
    // Wrap our CountingOutputStream in a compressing OutputStream to
    // give to the user.
    this.compressor.reset();
    this.userOutputStream = new CompressorStream(
        this.userCountingOutputStream, compressor);
  }

  return this.userOutputStream;
}
项目:zSqoop    文件:SplittingOutputStream.java   
/** Initialize the OutputStream to the next file to write to.
 */
private void openNextFile() throws IOException {
  StringBuffer sb = new StringBuffer();
  Formatter fmt = new Formatter(sb);
  fmt.format("%05d", this.fileNum++);
  String filename = filePrefix + fmt.toString();
  if (codec != null) {
    filename = filename + codec.getDefaultExtension();
  }
  Path destFile = new Path(destDir, filename);
  FileSystem fs = destFile.getFileSystem(conf);
  LOG.debug("Opening next output file: " + destFile);
  if (fs.exists(destFile)) {
    Path canonicalDest = destFile.makeQualified(fs);
    throw new IOException("Destination file " + canonicalDest
        + " already exists");
  }

  OutputStream fsOut = fs.create(destFile);

  // Count how many actual bytes hit HDFS.
  this.countingFilterStream = new CountingOutputStream(fsOut);

  if (codec != null) {
    // Wrap that in a compressing stream.
    this.writeStream = codec.createOutputStream(this.countingFilterStream);
  } else {
    // Write to the counting stream directly.
    this.writeStream = this.countingFilterStream;
  }
}
项目:wso2-axis2-transports    文件:WSMimeMessage.java   
@Override
public void writeTo(OutputStream out, String[] ignoreHeaders)
        throws MessagingException, IOException {
    if (bytesSent == -1) {
        CountingOutputStream countingOut = new CountingOutputStream(out);
        super.writeTo(countingOut, ignoreHeaders);
        bytesSent = countingOut.getByteCount();
    } else {
        super.writeTo(out, ignoreHeaders);
    }
}
项目:fop    文件:AbstractPDFStream.java   
/**
 * Overload the base object method so we don't have to copy
 * byte arrays around so much
 * {@inheritDoc}
 */
@Override
public int output(OutputStream stream) throws IOException {
    setupFilterList();

    CountingOutputStream cout = new CountingOutputStream(stream);
    StringBuilder textBuffer = new StringBuilder(64);

    StreamCache encodedStream = null;
    PDFNumber refLength = null;
    final Object lengthEntry;
    if (encodeOnTheFly) {
        refLength = new PDFNumber();
        getDocumentSafely().registerObject(refLength);
        lengthEntry = refLength;
    } else {
        encodedStream = encodeStream();
        lengthEntry = Integer.valueOf(encodedStream.getSize() + 1);
    }

    populateStreamDict(lengthEntry);
    dictionary.writeDictionary(cout, textBuffer);

    //Send encoded stream to target OutputStream
    PDFDocument.flushTextBuffer(textBuffer, cout);
    if (encodedStream == null) {
        encodeAndWriteStream(cout, refLength);
    } else {
        outputStreamData(encodedStream, cout);
        encodedStream.clear(); //Encoded stream can now be discarded
    }

    PDFDocument.flushTextBuffer(textBuffer, cout);
    return cout.getCount();
}
项目:fop    文件:PDFDictionary.java   
/** {@inheritDoc} */
@Override
public int output(OutputStream stream) throws IOException {
    CountingOutputStream cout = new CountingOutputStream(stream);
    StringBuilder textBuffer = new StringBuilder(64);
    writeDictionary(cout, textBuffer);
    PDFDocument.flushTextBuffer(textBuffer, cout);
    return cout.getCount();
}
项目:fop    文件:PDFName.java   
@Override
public int output(OutputStream stream) throws IOException {
    CountingOutputStream cout = new CountingOutputStream(stream);
    StringBuilder textBuffer = new StringBuilder(64);
    textBuffer.append(toString());
    PDFDocument.flushTextBuffer(textBuffer, cout);
    return cout.getCount();
}
项目:fop    文件:PDFDestination.java   
@Override
public int output(OutputStream stream) throws IOException {
    CountingOutputStream cout = new CountingOutputStream(stream);
    StringBuilder textBuffer = new StringBuilder(64);

    formatObject(getIDRef(), cout, textBuffer);
    textBuffer.append(' ');
    formatObject(goToReference, cout, textBuffer);

    PDFDocument.flushTextBuffer(textBuffer, cout);
    return cout.getCount();
}
项目:fop    文件:PDFDictionaryTestCase.java   
/**
 * Tests writeDictionary() - tests that the dictionary is properly written to the output-stream.
 */
@Test
public void testWriteDictionary() {
    // Ensure that the objects stored in the dictionary are streamed in the correct format.
    ByteArrayOutputStream outStream = new ByteArrayOutputStream();
    CountingOutputStream cout = new CountingOutputStream(outStream);
    StringBuilder textBuffer = new StringBuilder();
    try {
        pdfDictUnderTest.writeDictionary(cout, textBuffer);
        PDFDocument.flushTextBuffer(textBuffer, cout);
        assertEquals(expectedOutput, outStream.toString());
    } catch (IOException e) {
        fail("IOException: " + e.getMessage());
    }
}
项目:sqoop    文件:LobFile.java   
/**
 * Open the file and write its header.
 */
private void init() throws IOException {
  FileSystem fs = this.path.getFileSystem(conf);
  FSDataOutputStream fsOut = fs.create(this.path);
  this.countingOut = new CountingOutputStream(
      new BufferedOutputStream(fsOut));
  this.out = new DataOutputStream(this.countingOut);

  // put any necessary config strings into the header.
  MetaBlock m = this.header.getMetaBlock();
  if (isCharData) {
    m.put(MetaBlock.ENTRY_ENCODING_KEY, MetaBlock.CLOB_ENCODING);
  } else {
    m.put(MetaBlock.ENTRY_ENCODING_KEY, MetaBlock.BLOB_ENCODING);
  }

  if (null != codec) {
    m.put(MetaBlock.COMPRESSION_CODEC_KEY, this.codecName);
  }

  // Serialize the value of maxEntriesPerSegment as a VInt in a byte array
  // and put that into the metablock as ENTRIES_PER_SEGMENT_KEY.
  int segmentBufLen = WritableUtils.getVIntSize(this.maxEntriesPerSegment);
  DataOutputBuffer entriesPerSegBuf = new DataOutputBuffer(segmentBufLen);
  WritableUtils.writeVInt(entriesPerSegBuf, this.maxEntriesPerSegment);
  byte [] entriesPerSegArray =
      Arrays.copyOf(entriesPerSegBuf.getData(), segmentBufLen);
  m.put(MetaBlock.ENTRIES_PER_SEGMENT_KEY,
      new BytesWritable(entriesPerSegArray));

  // Write the file header to the file.
  this.header.write(out);

  // Now we're ready to accept record data from the user.
}
项目:sqoop    文件:LobFile.java   
@Override
/**
 * {@inheritDoc}
 */
public OutputStream writeBlobRecord(long claimedLen) throws IOException {
  finishRecord(); // finish any previous record.
  checkForNull(this.out);
  startRecordIndex();
  this.header.getStartMark().write(out);
  LOG.debug("Starting new record; id=" + curEntryId
      + "; claimedLen=" + claimedLen);
  WritableUtils.writeVLong(out, curEntryId);
  WritableUtils.writeVLong(out, claimedLen);
  this.curClaimedLen = claimedLen;
  this.userCountingOutputStream = new CountingOutputStream(
      new CloseShieldOutputStream(out));
  if (null == this.codec) {
    // No codec; pass thru the same OutputStream to the user.
    this.userOutputStream = this.userCountingOutputStream;
  } else {
    // Wrap our CountingOutputStream in a compressing OutputStream to
    // give to the user.
    this.compressor.reset();
    this.userOutputStream = new CompressorStream(
        this.userCountingOutputStream, compressor);
  }

  return this.userOutputStream;
}
项目:sqoop    文件:SplittingOutputStream.java   
/** Initialize the OutputStream to the next file to write to.
 */
private void openNextFile() throws IOException {
  StringBuffer sb = new StringBuffer();
  Formatter fmt = new Formatter(sb);
  fmt.format("%05d", this.fileNum++);
  String filename = filePrefix + fmt.toString();
  if (codec != null) {
    filename = filename + codec.getDefaultExtension();
  }
  Path destFile = new Path(destDir, filename);
  FileSystem fs = destFile.getFileSystem(conf);
  LOG.debug("Opening next output file: " + destFile);
  if (fs.exists(destFile)) {
    Path canonicalDest = destFile.makeQualified(fs);
    throw new IOException("Destination file " + canonicalDest
        + " already exists");
  }

  OutputStream fsOut = fs.create(destFile);

  // Count how many actual bytes hit HDFS.
  this.countingFilterStream = new CountingOutputStream(fsOut);

  if (codec != null) {
    // Wrap that in a compressing stream.
    this.writeStream = codec.createOutputStream(this.countingFilterStream);
  } else {
    // Write to the counting stream directly.
    this.writeStream = this.countingFilterStream;
  }
}
项目:caarray    文件:JavaApiFacade.java   
public Long copyMageTabZipToOutputStream(String api,
        CaArrayEntityReference experimentReference, boolean compressed)
        throws Exception
{
    CountingOutputStream outStream = new CountingOutputStream(new NullOutputStream());
    dataApiUtils.copyMageTabZipToOutputStream(experimentReference,  outStream);
    return outStream.getByteCount();
}
项目:caarray    文件:GridApiFacade.java   
public Long copyMageTabZipApiUtils(String api,
        CaArrayEntityReference experimentReference, boolean compressed)
        throws Exception
{
    CountingOutputStream stream = new CountingOutputStream(new NullOutputStream());
    dataApiUtils.copyMageTabZipToOutputStream(experimentReference, stream);
    return stream.getByteCount();
}
项目:elasticsearch-indexing-proxy    文件:IndexingProxyStreamOutput.java   
public IndexingProxyStreamOutput(final OutputStream out) {
    this.out = new CountingOutputStream(new BufferedOutputStream(out));
}
项目:davos    文件:FTPConnection.java   
private CountingOutputStream listenOn(OutputStream outputStream) {

        LOGGER.debug("Creating wrapping output stream for progress listener");

        CountingOutputStream countingStream = new CountingOutputStream(outputStream) {

            @Override
            protected void beforeWrite(int n) {

                super.beforeWrite(n);
                progressListener.setBytesWritten(getByteCount());
            }
        };

        return countingStream;
    }
项目:fabric8-jenkins-workflow-steps    文件:LargeText.java   
/**
     * Writes the section of the file {@link OutputStream}.
     *
     * @param start
     *      The byte offset in the input file where the write operation starts.
     *
     * @return
     *      if the file is still being written, this method writes the file
     *      until the last newline character and returns the offset to start
     *      the next write operation.
     */
    public long writeLogTo(long start, int size, OutputStream out) throws IOException {
        if (size <= 0) {
            return 0;
        }

        CountingOutputStream os = new CountingOutputStream(out);

        Session f = source.open();
        f.skip(start);

        //long end = start + size;

        byte[] buf = new byte[size];
        int sz;
        if ((sz=f.read(buf))>=0) {
            os.write(buf,0,sz);
        }
/*
        if(completed) {
        } else {
            ByteBuf buf = new ByteBuf(null,f, size);
            HeadMark head = new HeadMark(buf);
            TailMark tail = new TailMark(buf);

            int readLines = 0;
            while(tail.moveToNextLine(f) && readLines++ < MAX_LINES_READ) {
                head.moveTo(tail, os);
                if (buf.isFull() || os.getCount() >= end) {
                    break;
                }
            }
            head.finish(os);
        }
*/

        f.close();
        os.flush();

        return os.getCount()+start;
    }
项目:eHMP    文件:CountingOutputStreamTransportMetrics.java   
public CountingOutputStreamTransportMetrics(OutputStream out) {
    this.out = new CountingOutputStream(out);
}
项目:sejda-itext5    文件:CountingPdfCopier.java   
/**
 * Creates a copier that writes to the given output file counting the written bytes.
 * 
 * @param reader
 * @param outputFile
 * @param version
 *            version for the created pdf copy, if null the version number is taken from the input PdfReader.
 * @throws TaskException
 *             if the file is not found or an error occur opening the underlying copier.
 */
public CountingPdfCopier(PdfReader reader, File outputFile, PdfVersion version) throws TaskException {
    try {
        outputStream = new CountingOutputStream(new FileOutputStream(outputFile));
        init(reader, outputStream, version);
    } catch (FileNotFoundException e) {
        throw new TaskException(String.format("Unable to find the output file %s", outputFile.getPath()), e);
    }
}