Java 类org.apache.commons.io.input.CountingInputStream 实例源码

项目:cyberduck    文件:SwiftReadFeatureTest.java   
@Test
public void testReadCloseReleaseEntity() throws Exception {
    final Host host = new Host(new SwiftProtocol(), "identity.api.rackspacecloud.com", new Credentials(
            System.getProperties().getProperty("rackspace.key"), System.getProperties().getProperty("rackspace.secret")
    ));
    final SwiftSession session = new SwiftSession(host);
    session.open(new DisabledHostKeyCallback(), new DisabledLoginCallback());
    session.login(new DisabledPasswordStore(), new DisabledLoginCallback(), new DisabledCancelCallback());
    final TransferStatus status = new TransferStatus();
    final Path container = new Path(".ACCESS_LOGS", EnumSet.of(Path.Type.directory, Path.Type.volume));
    container.attributes().setRegion("DFW");
    final SwiftRegionService regionService = new SwiftRegionService(session);
    final CountingInputStream in = new CountingInputStream(new SwiftReadFeature(session, regionService).read(new Path(container,
            "/cdn.cyberduck.ch/2015/03/01/10/3b1d6998c430d58dace0c16e58aaf925.log.gz",
            EnumSet.of(Path.Type.file)), status, new DisabledConnectionCallback()));
    in.close();
    assertEquals(0L, in.getByteCount(), 0L);
    session.close();
}
项目:cyberduck    文件:SDSReadFeatureTest.java   
@Test
public void testReadCloseReleaseEntity() throws Exception {
    final Host host = new Host(new SDSProtocol(), "duck.ssp-europe.eu", new Credentials(
        System.getProperties().getProperty("sds.user"), System.getProperties().getProperty("sds.key")
    ));
    final SDSSession session = new SDSSession(host, new DisabledX509TrustManager(), new DefaultX509KeyManager());
    session.open(new DisabledHostKeyCallback(), new DisabledLoginCallback());
    session.login(new DisabledPasswordStore(), new DisabledLoginCallback(), new DisabledCancelCallback());
    final TransferStatus status = new TransferStatus();
    final byte[] content = RandomUtils.nextBytes(32769);
    final TransferStatus writeStatus = new TransferStatus();
    writeStatus.setLength(content.length);
    final Path room = new SDSDirectoryFeature(session).mkdir(
        new Path(new AlphanumericRandomStringService().random(), EnumSet.of(Path.Type.directory, Path.Type.volume)), null, new TransferStatus());
    final Path test = new Path(room, UUID.randomUUID().toString(), EnumSet.of(Path.Type.file));
    final SDSWriteFeature writer = new SDSWriteFeature(session);
    final HttpResponseOutputStream<VersionId> out = writer.write(test, writeStatus, new DisabledConnectionCallback());
    assertNotNull(out);
    new StreamCopier(writeStatus, writeStatus).transfer(new ByteArrayInputStream(content), out);
    final CountingInputStream in = new CountingInputStream(new SDSReadFeature(session).read(test, status, new DisabledConnectionCallback()));
    in.close();
    assertEquals(0L, in.getByteCount(), 0L);
    new SDSDeleteFeature(session).delete(Collections.singletonList(room), new DisabledLoginCallback(), new Delete.DisabledCallback());
    session.close();
}
项目:cyberduck    文件:S3ReadFeatureTest.java   
@Test
public void testReadCloseReleaseEntity() throws Exception {
    final Host host = new Host(new S3Protocol(), new S3Protocol().getDefaultHostname(), new Credentials(
            System.getProperties().getProperty("s3.key"), System.getProperties().getProperty("s3.secret")
    ));
    final S3Session session = new S3Session(host);
    session.open(new DisabledHostKeyCallback(), new DisabledLoginCallback());
    session.login(new DisabledPasswordStore(), new DisabledLoginCallback(), new DisabledCancelCallback());
    final Path container = new Path("test-us-east-1-cyberduck", EnumSet.of(Path.Type.directory, Path.Type.volume));
    final Path file = new Path(container, UUID.randomUUID().toString(), EnumSet.of(Path.Type.file));
    final int length = 2048;
    final byte[] content = RandomUtils.nextBytes(length);
    final TransferStatus status = new TransferStatus().length(content.length);
    status.setChecksum(new SHA256ChecksumCompute().compute(new ByteArrayInputStream(content), status));
    final OutputStream out = new S3WriteFeature(session).write(file, status, new DisabledConnectionCallback());
    new StreamCopier(new TransferStatus(), new TransferStatus()).transfer(new ByteArrayInputStream(content), out);
    out.close();
    final CountingInputStream in = new CountingInputStream(new S3ReadFeature(session).read(file, status, new DisabledConnectionCallback()));
    in.close();
    assertEquals(0L, in.getByteCount(), 0L);
    new S3DefaultDeleteFeature(session).delete(Collections.singletonList(file), new DisabledLoginCallback(), new Delete.DisabledCallback());
    session.close();
}
项目:Baffle    文件:ArscData.java   
private static ArscData readTable(File file , CountingInputStream countIn, ExtDataInput in )
        throws IOException {
    ArscData arscData = new ArscData();
    arscData.mFile = file;
    arscData.mHeader = Header.read(in);
    int packageCount = in.readInt();
    if (packageCount != 1) {
        throw new UnsupportedOperationException("not support more then 1 package");
    }
    arscData.mTableStrings = StringBlock.read(in);
    arscData.mPkgHeaderIndex = (int) countIn.getByteCount();
    arscData.mPkgHeader = PackageHeader.read(in);
    arscData.mTypeStrStart = (int) countIn.getByteCount();
    arscData.mTypeNames = StringBlock.read(in);
    arscData.mTypeStrEnd =  (int) countIn.getByteCount();
    arscData.mSpecNames = StringBlock.read(in);
    arscData.mResIndex =  (int) countIn.getByteCount();
    return arscData;
}
项目:chinese-whispers    文件:MonitoredFileReader.java   
public MonitoredFileReader(String fileName, InputStream is, long length, String encoding, double reportProgressAfter) throws IOException {
    InputStream in = countingIn = new CountingInputStream(is);
    if (fileName.endsWith(".gz")) {
        try {
            @SuppressWarnings("resource")
            InputStream gzIn = new GZIPInputStream(in);
            log.info("[" + fileName + "] GZipped file detected. Reading using decompressor.");
            in = gzIn;
        } catch (ZipException e) {
            // proceed like nothing happened (gzIn has not been assigned to in)
            log.error("[" + fileName + "] Warning: Unsuccessfully tried top uncompress file ending with .gz, reading file without decompression.", e);
        }
    }
    inReader = new InputStreamReader(in, encoding);
    monitor = new ProgressMonitor(fileName, "bytes", length, reportProgressAfter);
}
项目:POL-POM-5    文件:PEReader.java   
private RsrcSection readResourceSection(CountingInputStream executableInputStream, SectionHeader[] sectionHeaders)
        throws IOException {
    SectionHeader rsrcSectionHeader = null;
    for (SectionHeader sectionHeader : sectionHeaders) {
        if (".rsrc\u0000\u0000\u0000".equals(new String(sectionHeader.name))) {
            rsrcSectionHeader = sectionHeader;
        }
    }

    if (rsrcSectionHeader == null) {
        return null;
    }

    long numberToSkip = rsrcSectionHeader.pointerToRawData.getUnsignedValue() - executableInputStream.getCount();
    executableInputStream.skip(numberToSkip);
    byte[] rsrcSection = new byte[(int) rsrcSectionHeader.sizeOfRawData.getUnsignedValue()];
    executableInputStream.read(rsrcSection);

    return new RsrcSection(rsrcSection);
}
项目: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;
}
项目:geoserver-sync    文件:AbstractClientSynchronizer.java   
private boolean processSha1SyncResponse(Response response) throws IOException {
    int expected = m_server.level() + 1;
    CountingInputStream counter = new CountingInputStream(response.getResultStream());
    InputStreamReader reader = new InputStreamReader(new BufferedInputStream(counter), UTF8.UTF8);
    try {
        m_server = new Gson().fromJson(reader, Sha1SyncJson.class);
        if (expected != m_server.level()) {
            throw new IllegalStateException("Level warp! expected("+expected+"), actual("+m_server.level()+")");
        }
        if (!versionFeatures.getToken().equals(m_server.version())) {
            throw new IllegalStateException("Version warp! expected("+versionFeatures.getToken()+"), actual("+m_server.version()+")");
        }
        if (isServerEmpty()) {
            clearLocal();
            return true;
        }
        if (isServerHashesEmpty()) {
            return true;
        }
        return false;
    } finally {
        m_rxBytes += counter.getByteCount();
        reader.close();
    }
}
项目:cloudtest-plugin    文件:CommonInstaller.java   
public Void invoke(File dir, VirtualChannel channel) throws IOException, InterruptedException {
    URLConnection con = archive.openConnection();
    // Jira Bug JENKINS-21033: Changing the User-Agent from "Java/<Java version #>" to "Jenkins/<Jenkins version #>"
    con.setRequestProperty("User-Agent", "Jenkins/" + Jenkins.getVersion().toString());
    InputStream in = con.getInputStream();
    try {
        CountingInputStream cis = new CountingInputStream(in);
        try {
            LOGGER.log(Level.INFO, "Invoke called for Unpack class to unpack to " + dir.getAbsolutePath());
            if (archive.toExternalForm().endsWith(".zip")) {
              LOGGER.log(Level.INFO, "Archive unzipped as it ends with '.zip'.  Starting unzip.");
              unzip(dir, cis);
            }
        } catch (IOException x) {
            throw new IOException(String.format("Failed to unpack %s (%d bytes read)", archive, cis.getByteCount()), x);
        }
    } finally {
        in.close();
    }
    return null;
}
项目:AndroidApktool    文件:ARSCDecoder.java   
private ARSCDecoder(InputStream arscStream, ResTable resTable, boolean storeFlagsOffsets, boolean keepBroken) {
    arscStream = mCountIn = new CountingInputStream(arscStream);
    if (storeFlagsOffsets) {
        mFlagsOffsets = new ArrayList<FlagsOffset>();
    } else {
        mFlagsOffsets = null;
    }
    mIn = new ExtDataInput(new LittleEndianDataInputStream(arscStream));
    mResTable = resTable;
    mKeepBroken = keepBroken;
}
项目:AndroidApktool    文件:ARSCDecoder.java   
public static Header read(ExtDataInput in, CountingInputStream countIn) throws IOException {
    short type;
    int start = countIn.getCount();
    try {
        type = in.readShort();
    } catch (EOFException ex) {
        return new Header(TYPE_NONE, 0, 0, countIn.getCount());
    }
    return new Header(type, in.readShort(), in.readInt(), start);
}
项目:cyberduck    文件:DAVReadFeatureTest.java   
@Test
public void testReadCloseReleaseEntity() throws Exception {
    final Host host = new Host(new DAVSSLProtocol(), "svn.cyberduck.ch", new Credentials(
            PreferencesFactory.get().getProperty("connection.login.anon.name"), null
    ));
    final DAVSession session = new DAVSession(host);
    session.open(new DisabledHostKeyCallback(), new DisabledLoginCallback());
    session.login(new DisabledPasswordStore(), new DisabledLoginCallback(), new DisabledCancelCallback());
    final TransferStatus status = new TransferStatus();
    final Path test = new Path("/trunk/LICENSE.txt", EnumSet.of(Path.Type.file));
    final CountingInputStream in = new CountingInputStream(new DAVReadFeature(session).read(test, status, new DisabledConnectionCallback()));
    in.close();
    assertEquals(0L, in.getByteCount(), 0L);
    session.close();
}
项目:aliyun-maxcompute-data-collectors    文件:FixedLengthInputStream.java   
public FixedLengthInputStream(InputStream stream, long maxLen) {
  super(new CountingInputStream(new CloseShieldInputStream(stream)));

  // Save a correctly-typed reference to the underlying stream.
  this.countingIn = (CountingInputStream) this.in;
  this.maxBytes = maxLen;
}
项目:BUbiNG    文件:BoundSessionInputBuffer.java   
/**
 * Creates a new {@link SessionInputBuffer} bounded to a given maximum length.
 *
 * @param buffer the buffer to wrap
 * @param length the maximum number of bytes to read (from the buffered stream).
 */
public BoundSessionInputBuffer(final SessionInputBuffer buffer, final long length) {
    super(new HttpTransportMetricsImpl(), BUFFER_SIZE, 0, null, null);
    this.bounded = new ContentLengthInputStream(buffer, length);
    this.input = new CountingInputStream(this.bounded);
    super.bind(this.input);
    this.length = length;
}
项目:lernplattform-crawler    文件:DownloadSlave.java   
private void saveDocument(DownloadableDocument document, Path target) throws IOException {
    Page downloadPage = browser.getPage(document.getDownloadLink());
    WebResponse response = downloadPage.getWebResponse();
    document.setSize(response.getContentLength());
    try (CountingInputStream in = new CountingInputStream(response.getContentAsStream())) {
        copy(in, target, document);
    }
}
项目:lernplattform-crawler    文件:DownloadSlave.java   
private void copyWithNotifyProgress(CountingInputStream source, OutputStream sink, DownloadableDocument document) throws IOException {
    int n;
    byte[] buffer = new byte[BUFFER_SIZE];
    while((n = source.read(buffer)) > 0) {
        sink.write(buffer, 0, n);
        double progress = (double) source.getByteCount() / document.getSize();
        notifyObserversProgress(document, progress);
    }
}
项目:lavaplayer    文件:RemoteNodeProcessor.java   
private boolean handleResponseBody(InputStream inputStream, TickBuilder tickBuilder) {
  CountingInputStream countingStream = new CountingInputStream(inputStream);
  DataInputStream input = new DataInputStream(countingStream);
  RemoteMessage message;

  try {
    while ((message = mapper.decode(input)) != null) {
      if (message instanceof TrackStartResponseMessage) {
        handleTrackStartResponse((TrackStartResponseMessage) message);
      } else if (message instanceof TrackFrameDataMessage) {
        handleTrackFrameData((TrackFrameDataMessage) message);
      } else if (message instanceof TrackExceptionMessage) {
        handleTrackException((TrackExceptionMessage) message);
      } else if (message instanceof NodeStatisticsMessage) {
        handleNodeStatistics((NodeStatisticsMessage) message);
      }
    }
  } catch (InterruptedException interruption) {
    log.error("Node {} processing thread was interrupted.", nodeAddress);
    Thread.currentThread().interrupt();
    return false;
  } catch (Throwable e) {
    log.error("Error when processing response from node {}.", nodeAddress, e);
    ExceptionTools.rethrowErrors(e);
  } finally {
    tickBuilder.responseSize = countingStream.getCount();
  }

  return true;
}
项目:InflatableDonkey    文件:ChunkListDecrypter.java   
/**
 *
 * @param container
 * @param inputStream closed on exit
 * @param store
 * @throws IOException
 * @throws ArithmeticException on input streams over 2 Gb.
 * @throws IllegalArgumentException on non 0x01 chunk keys
 */
public void apply(StorageHostChunkList container, InputStream inputStream, ChunkStore store) throws IOException {
    logger.trace("<< apply() - input: {}", inputStream);
    // Ensure our chunk offsets are sequentially ordered.
    List<ChunkInfo> list = container.getChunkInfoList()
            .stream()
            .sorted(CHUNK_OFFSET_COMPARATOR)
            .collect(toList());

    try (CountingInputStream countingInputStream = new CountingInputStream(inputStream)) {
        streamChunks(list, countingInputStream, store);
    } catch (UncheckedIOException ex) {
        throw ex.getCause();
    }

    if (logger.isDebugEnabled()) {
        // Sanity check. Has a minor IO cost with a disk based chunk store.
        String missingChunks = list.stream()
                .map(ci -> ci.getChunkChecksum().toByteArray())
                .filter(c -> !store.contains(c))
                .map(c -> "0x" + Hex.toHexString(c))
                .collect(joining(" "));
        if (missingChunks.isEmpty()) {
            logger.debug("-- apply() - all chunks have been stored");
        } else {
            logger.warn("-- apply() - missing chunks: {}", missingChunks);
        }
    }
    logger.trace(">> apply()");
}
项目:InflatableDonkey    文件:ChunkListDecrypter.java   
void streamChunks(List<ChunkInfo> chunkInfos, CountingInputStream inputStream, ChunkStore store) {
    logger.debug("-- streamChunks() - chunk count: {}", chunkInfos.size());
    chunkInfos.stream()
            .peek(ci -> logger.debug("-- streamChunks() - chunk info: {}", ci))
            .filter(u -> isChunkMissing(u, store))
            .forEach(u -> streamChunk(inputStream, inputStream.getCount(), u, store));
}
项目:VectorAttackScanner    文件:ARSCDecoder.java   
private ARSCDecoder(InputStream arscStream, ResTable resTable,
        boolean storeFlagsOffsets, boolean keepBroken) {
    if (storeFlagsOffsets) {
        arscStream = mCountIn = new CountingInputStream(arscStream);
        mFlagsOffsets = new ArrayList<FlagsOffset>();
    } else {
        mCountIn = null;
        mFlagsOffsets = null;
    }
    mIn = new ExtDataInput(new LEDataInputStream(arscStream));
    mResTable = resTable;
    mKeepBroken = keepBroken;
}
项目:Pinot    文件:StorageUtils.java   
private static List<Object> readObjectFile(File objectFile) throws IOException
{
  long fileLength = objectFile.length();

  FileInputStream fis = new FileInputStream(objectFile);
  CountingInputStream cis = new CountingInputStream(fis);
  ObjectInputStream ois = new ObjectInputStream(cis);

  List<Object> objects = new ArrayList<Object>();

  try
  {
    while (cis.getByteCount() < fileLength)
    {
      objects.add(ois.readObject());
    }
  }
  catch (ClassNotFoundException e)
  {
    throw new IOException(e);
  }
  finally
  {
    ois.close();
  }

  return objects;
}
项目:code-assert    文件:ClassFileParser.java   
CodeClass parse(InputStream is, Model model) throws IOException {
    final CountingInputStream counter = new CountingInputStream(is);
    in = new DataInputStream(counter);

    parseMagic();
    parseMinorVersion();
    parseMajorVersion();

    constantPool = ConstantPool.fromData(in);

    final int flags = parseAccessFlags();

    final String className = parseClassName();
    final String superClassName = parseSuperClassName();
    final List<String> interfaceNames = parseInterfaces();
    final List<MemberInfo> fields = parseMembers();
    final List<MemberInfo> methods = parseMembers();
    final List<AttributeInfo> attributes = parseAttributes();

    return new CodeClassBuilder(className, model, constantPool)
            .addClassConstantReferences()
            .addFlags(flags)
            .addSuperClass(superClassName)
            .addInterfaces(interfaceNames)
            .addFieldRefs(fields)
            .addMethodRefs(methods)
            .addAttributeRefs(attributes)
            .addPackageInfo(model, className)
            .addCodeSizes(counter.getCount(), methods)
            .clazz;
}
项目:POL-POM-5    文件:PEReader.java   
public PEFile parseExecutable(InputStream inputStream) throws IOException {
    try (CountingInputStream executableInputStream = new CountingInputStream(inputStream)) {
        final ImageDOSHeader imageDOSHeader = readDosHeader(executableInputStream);
        final byte[] realModeStubProgram = readRealModeStubProgram(executableInputStream, imageDOSHeader);
        final ImageNTHeaders imageNTHeaders = readImageNTHeaders(executableInputStream);
        final SectionHeader[] sectionHeaders = readSectionHeaders(executableInputStream, imageNTHeaders);
        final RsrcSection resourceSection = readResourceSection(executableInputStream, sectionHeaders);
        return new PEFile(imageDOSHeader, realModeStubProgram, imageNTHeaders, sectionHeaders, resourceSection);
    }
}
项目:POL-POM-5    文件:PEReader.java   
private SectionHeader[] readSectionHeaders(CountingInputStream executableInputStream, ImageNTHeaders imageNTHeaders)
        throws IOException {
    final int numberOfSectionHeaders = imageNTHeaders.fileHeader.numberOfSections.getUnsignedValue();
    final SectionHeader[] sectionHeaders = new SectionHeader[numberOfSectionHeaders];
    for (int i = 0; i < numberOfSectionHeaders; i++) {
        byte[] sectionHeaderBytes = new byte[SectionHeader.SECTION_HEADER_SIZE];
        executableInputStream.read(sectionHeaderBytes);
        sectionHeaders[i] = new SectionHeader(sectionHeaderBytes);
    }
    return sectionHeaders;
}
项目:apktool-android    文件:ARSCDecoder.java   
private ARSCDecoder(InputStream arscStream, ResTable resTable, boolean storeFlagsOffsets, boolean keepBroken) {
    arscStream = mCountIn = new CountingInputStream(arscStream);
    if (storeFlagsOffsets) {
        mFlagsOffsets = new ArrayList<FlagsOffset>();
    } else {
        mFlagsOffsets = null;
    }
    mIn = new ExtDataInput(new LittleEndianDataInputStream(arscStream));
    mResTable = resTable;
    mKeepBroken = keepBroken;
}
项目:apktool-android    文件:ARSCDecoder.java   
public static Header read(ExtDataInput in, CountingInputStream countIn) throws IOException {
    short type;
    int start = countIn.getCount();
    try {
        type = in.readShort();
    } catch (EOFException ex) {
        return new Header(TYPE_NONE, 0, 0, countIn.getCount());
    }
    return new Header(type, in.readShort(), in.readInt(), start);
}
项目:zSqoop    文件:FixedLengthInputStream.java   
public FixedLengthInputStream(InputStream stream, long maxLen) {
  super(new CountingInputStream(new CloseShieldInputStream(stream)));

  // Save a correctly-typed reference to the underlying stream.
  this.countingIn = (CountingInputStream) this.in;
  this.maxBytes = maxLen;
}
项目:geoserver-sync    文件:AbstractClientSynchronizer.java   
void processGmlResponse(Response response) throws IOException, SAXException, ParserConfigurationException {
    FeatureCollection<?, ?> features;
    if (response instanceof ResponseFeatureCollection) {
        ResponseFeatureCollection responseFeatures = (ResponseFeatureCollection) response;
        features = responseFeatures.getFeatureCollection();
    } else {
        CountingInputStream counter = new CountingInputStream(response.getResultStream());
        long s = System.currentTimeMillis();
        features = (FeatureCollection<?, ?>) parseWfs(counter);
        long e = System.currentTimeMillis();
        m_parseMillis = e - s;
        m_rxGml += counter.getByteCount();
    }

    FeatureIterator<?> it = features.features();
    try {
        while (it.hasNext()) {
            Feature feature = it.next();
            FeatureId fid = feature.getIdentifier();
            m_potentialDeletes.remove(fid);
            if (!m_features.containsKey(fid)) {
                m_listener.featureCreate(fid, feature);
                m_numCreates++;
            } else {
                m_listener.featureUpdate(fid, feature);
                m_numUpdates++;
            }
        }
    } finally {
        it.close();
    }
}
项目:webarchive-commons    文件:HTTPURLConnSLR.java   
@Override
protected InputStream doSeekLoad(long offset, int maxLength)
        throws IOException {

    URL theUrl = new URL(url);      

       URLConnection connection = theUrl.openConnection();

       httpUrlConn = (HttpURLConnection)connection;

       connection.setConnectTimeout(connTimeout);
       connection.setReadTimeout(readTimeout);

       String rangeHeader = makeRangeHeader(offset, maxLength);

       if (rangeHeader != null) {
        httpUrlConn.addRequestProperty("Range", rangeHeader);
       }

    if (this.isNoKeepAlive()) {
        httpUrlConn.addRequestProperty("Connection", "close");
    }

    if (this.getCookie() != null) {
        httpUrlConn.addRequestProperty("Cookie", cookie);
    }

    httpUrlConn.connect();

    int code = httpUrlConn.getResponseCode();
    connectedUrl =  httpUrlConn.getURL().toString();

    if ((code != 206) && (code != 200)) {
        throw new BadHttpStatusException(code, connectedUrl + " " + rangeHeader);
    }

    InputStream is = httpUrlConn.getInputStream();
    cin = new CountingInputStream(is);
    return cin;
}
项目:sqoop    文件:FixedLengthInputStream.java   
public FixedLengthInputStream(InputStream stream, long maxLen) {
  super(new CountingInputStream(new CloseShieldInputStream(stream)));

  // Save a correctly-typed reference to the underlying stream.
  this.countingIn = (CountingInputStream) this.in;
  this.maxBytes = maxLen;
}
项目:arx    文件:ImportAdapterCSV.java   
/**
 * Creates a new instance of this object with given configuration.
 *
 * @param config {@link #config}
 * @throws IOException In case file doesn't contain actual data
 */
protected ImportAdapterCSV(ImportConfigurationCSV config) throws IOException {

    super(config);
    this.config = config;
    this.bytesTotal = new File(config.getFileLocation()).length();

    /* Used to keep track of progress */
    cin = new CountingInputStream(new FileInputStream(new File(config.getFileLocation())));

    /* Get CSV iterator */
    in = new CSVDataInput(cin, config.getCharset(), config.getDelimiter(), config.getQuote(), config.getEscape(), config.getLinebreak());
    it = in.iterator();

    /* Check whether there is actual data within the CSV file */
    if (it.hasNext()) {
        row = it.next();
        if (config.getContainsHeader()) {
            if (!it.hasNext()) {
                throw new IOException("CSV contains nothing but header");
            }
        }
    } else {
        throw new IOException("CSV file contains no data");
    }

    // Create header
    header = createHeader();
}
项目:cyberduck    文件:S3MultipartUploadServiceTest.java   
@Test
public void testAppendSecondPart() throws Exception {
    final S3Session session = new S3Session(
            new Host(new S3Protocol(), new S3Protocol().getDefaultHostname(),
                    new Credentials(
                            System.getProperties().getProperty("s3.key"), System.getProperties().getProperty("s3.secret")
                    )));
    session.open(new DisabledHostKeyCallback(), new DisabledLoginCallback());
    session.login(new DisabledPasswordStore(), new DisabledLoginCallback(), new DisabledCancelCallback());
    final Path container = new Path("test-us-east-1-cyberduck", EnumSet.of(Path.Type.directory, Path.Type.volume));
    final String name = UUID.randomUUID().toString();
    final Path test = new Path(container, name, EnumSet.of(Path.Type.file));
    final int length = 12 * 1024 * 1024;
    final byte[] content = RandomUtils.nextBytes(length);
    Local local = new Local(System.getProperty("java.io.tmpdir"), name);
    IOUtils.write(content, local.getOutputStream(false));
    final AtomicBoolean started = new AtomicBoolean();
    final TransferStatus status = new TransferStatus() {
        @Override
        public void progress(long bytes) {
            super.progress(bytes);
            started.set(true);
        }
    };
    status.setLength(content.length);
    final AtomicBoolean interrupt = new AtomicBoolean();
    try {
        new S3MultipartUploadService(session, new S3WriteFeature(session, new S3DisabledMultipartService()), 10L * 1024L * 1024L, 1).upload(test, new Local(System.getProperty("java.io.tmpdir"), name) {
                    @Override
                    public InputStream getInputStream() throws AccessDeniedException {
                        return new CountingInputStream(super.getInputStream()) {
                            @Override
                            protected void beforeRead(int n) throws IOException {
                                if(started.get()) {
                                    if(this.getByteCount() >= 11L * 1024L * 1024L) {
                                        throw new IOException();
                                    }
                                }
                            }
                        };
                    }
                },
                new BandwidthThrottle(BandwidthThrottle.UNLIMITED), new DisabledStreamListener(), status,
                new DisabledLoginCallback());
    }
    catch(BackgroundException e) {
        // Expected
        interrupt.set(true);
    }
    assertTrue(interrupt.get());
    assertEquals(10L * 1024L * 1024L, status.getOffset(), 0L);
    assertFalse(status.isComplete());
    assertFalse(new S3FindFeature(session).find(test));

    final TransferStatus append = new TransferStatus().append(true).length(2L * 1024L * 1024L).skip(10L * 1024L * 1024L);
    new S3MultipartUploadService(session, new S3WriteFeature(session, new S3DisabledMultipartService()), 10L * 1024L * 1024L, 1).upload(test, local,
            new BandwidthThrottle(BandwidthThrottle.UNLIMITED), new DisabledStreamListener(), append,
            new DisabledConnectionCallback());
    assertEquals(12L * 1024L * 1024L, append.getOffset(), 0L);
    assertTrue(append.isComplete());
    assertTrue(new S3FindFeature(session).find(test));
    assertEquals(12L * 1024L * 1024L, new S3AttributesFinderFeature(session).find(test).getSize(), 0L);
    final byte[] buffer = new byte[content.length];
    final InputStream in = new S3ReadFeature(session).read(test, new TransferStatus(), new DisabledConnectionCallback());
    IOUtils.readFully(in, buffer);
    in.close();
    assertArrayEquals(content, buffer);
    new S3DefaultDeleteFeature(session).delete(Collections.singletonList(test), new DisabledLoginCallback(), new Delete.DisabledCallback());
    local.delete();
    session.close();
}
项目:cyberduck    文件:S3MultipartUploadServiceTest.java   
@Test
public void testAppendNoPartCompleted() throws Exception {
    final S3Session session = new S3Session(
            new Host(new S3Protocol(), new S3Protocol().getDefaultHostname(),
                    new Credentials(
                            System.getProperties().getProperty("s3.key"), System.getProperties().getProperty("s3.secret")
                    )));
    session.open(new DisabledHostKeyCallback(), new DisabledLoginCallback());
    session.login(new DisabledPasswordStore(), new DisabledLoginCallback(), new DisabledCancelCallback());
    final Path container = new Path("test-us-east-1-cyberduck", EnumSet.of(Path.Type.directory, Path.Type.volume));
    String name = UUID.randomUUID().toString();
    final Path test = new Path(container, name, EnumSet.of(Path.Type.file));
    final Local local = new Local(System.getProperty("java.io.tmpdir"), name);
    final int length = 32769;
    final byte[] content = RandomUtils.nextBytes(length);
    IOUtils.write(content, local.getOutputStream(false));
    final AtomicBoolean started = new AtomicBoolean();
    final TransferStatus status = new TransferStatus() {
        @Override
        public void progress(long bytes) {
            super.progress(bytes);
            started.set(true);
        }
    };
    status.setLength(content.length);
    final AtomicBoolean interrupt = new AtomicBoolean();
    try {
        new S3MultipartUploadService(session, new S3WriteFeature(session, new S3DisabledMultipartService()), 10485760L, 1).upload(test, new Local(System.getProperty("java.io.tmpdir"), name) {
                    @Override
                    public InputStream getInputStream() throws AccessDeniedException {
                        return new CountingInputStream(super.getInputStream()) {
                            @Override
                            protected void beforeRead(int n) throws IOException {
                                if(started.get()) {
                                    if(this.getByteCount() >= 32768) {
                                        throw new IOException();
                                    }
                                }
                            }
                        };
                    }
                }, new BandwidthThrottle(BandwidthThrottle.UNLIMITED), new DisabledStreamListener(), status,
                new DisabledConnectionCallback());
    }
    catch(BackgroundException e) {
        // Expected
        interrupt.set(true);
    }
    assertTrue(interrupt.get());
    assertEquals(0L, status.getOffset(), 0L);
    assertFalse(status.isComplete());

    final TransferStatus append = new TransferStatus().append(true).length(content.length);
    new S3MultipartUploadService(session, new S3WriteFeature(session, new S3DisabledMultipartService()), 10485760L, 1).upload(
            test, local, new BandwidthThrottle(BandwidthThrottle.UNLIMITED),
            new DisabledStreamListener(), append,
            new DisabledConnectionCallback());
    assertEquals(32769L, append.getOffset(), 0L);
    assertTrue(append.isComplete());
    assertTrue(new S3FindFeature(session).find(test));
    assertEquals(content.length, new S3AttributesFinderFeature(session).find(test).getSize());
    final byte[] buffer = new byte[content.length];
    final InputStream in = new S3ReadFeature(session).read(test, new TransferStatus(), new DisabledConnectionCallback());
    IOUtils.readFully(in, buffer);
    in.close();
    assertArrayEquals(content, buffer);
    new S3DefaultDeleteFeature(session).delete(Collections.singletonList(test), new DisabledLoginCallback(), new Delete.DisabledCallback());
    local.delete();
    session.close();
}
项目:lernplattform-crawler    文件:DownloadSlave.java   
private void copy(CountingInputStream in, Path target, DownloadableDocument document) throws IOException {
    try (OutputStream sink = Files.newOutputStream(target)) {
        notifyObserversStart(document);
        copyWithNotifyProgress(in, sink, document);
    }
}
项目:lavaplayer    文件:MessageInput.java   
/**
 * @param inputStream Input stream to read from.
 */
public MessageInput(InputStream inputStream) {
  this.countingInputStream = new CountingInputStream(inputStream);
  this.dataInputStream = new DataInputStream(inputStream);
}
项目:eHMP    文件:CountingInputStreamTransportMetrics.java   
public CountingInputStreamTransportMetrics(InputStream in) {
     this.in = new CountingInputStream(in);
}
项目:aegisthus    文件:IndexDatabaseScanner.java   
public IndexDatabaseScanner(@Nonnull InputStream is) {
    this.countingInputStream = new CountingInputStream(is);
    this.input = new DataInputStream(this.countingInputStream);
}
项目:webarchive-commons    文件:ApacheHttp31SLR.java   
protected InputStream doSeekLoad(long offset, int maxLength) throws IOException {
    if (activeMethod != null) {
        doClose();
    }

    br = null;

    try {

        activeMethod = new GetMethod(url);

        String rangeHeader = makeRangeHeader(offset, maxLength);

        if (rangeHeader != null) {
            activeMethod.setRequestHeader("Range", rangeHeader);
        }

        if (this.isNoKeepAlive()) {
            activeMethod.setRequestHeader("Connection", "close");
        }

        if (this.getCookie() != null) {
            activeMethod.getParams().setCookiePolicy(CookiePolicy.IGNORE_COOKIES);
            activeMethod.setRequestHeader("Cookie", this.getCookie());
        }

        int code = http.executeMethod(activeMethod);

        connectedUrl = activeMethod.getURI().toString();

        if ((code != 206) && (code != 200)) {
            throw new BadHttpStatusException(code, connectedUrl + " " + rangeHeader);
        }

        InputStream is = activeMethod.getResponseBodyAsStream();
        cin = new CountingInputStream(is);
        return cin;

    } catch (IOException io) {
        if (saveErrHeader != null) {
            errHeader = getHeaderValue(saveErrHeader);  
        }

        connectedUrl = activeMethod.getURI().toString();
        doClose();
        throw io;
    }
}
项目:disunity    文件:BundleReader.java   
private CountingInputStream lzmaInputStream() throws IOException {
    in.position(bundle.header().headerSize());
    return new CountingInputStream(new LzmaInputStream(in.stream()));
}