Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
commons-io-2.6-sources.jar - Apache Commons IO
commons-io-2.6-sources.jar is the source JAR file for Apache Commons IO 2.6, which is a library of utilities to assist with developing IO functionality.
JAR File Size and Download Location:
JAR name: commons-io-2.6-sources.jar Target JDK version: 1.7 Dependency: None File size: 280,834 bytes Release date: 15-Oct-2017 Download: Apache Commons IO Website
✍: FYIcenter.com
⏎ org/apache/commons/io/input/BoundedReader.java
/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package org.apache.commons.io.input; import java.io.IOException; import java.io.Reader; /** * A reader that imposes a limit to the number of characters that can be read from * an underlying reader, returning eof when this limit is reached -regardless of state of * underlying reader. * * <p> * One use case is to avoid overrunning the readAheadLimit supplied to * java.io.Reader#mark(int), since reading too many characters removes the * ability to do a successful reset. * </p> * * @since 2.5 */ public class BoundedReader extends Reader { private static final int INVALID = -1; private final Reader target; private int charsRead = 0; private int markedAt = INVALID; private int readAheadLimit; // Internally, this value will never exceed the allowed size private final int maxCharsFromTargetReader; /** * Constructs a bounded reader * * @param target The target stream that will be used * @param maxCharsFromTargetReader The maximum number of characters that can be read from target * @throws IOException if mark fails */ public BoundedReader( final Reader target, final int maxCharsFromTargetReader ) throws IOException { this.target = target; this.maxCharsFromTargetReader = maxCharsFromTargetReader; } /** * Closes the target * * @throws IOException If an I/O error occurs while calling the underlying reader's close method */ @Override public void close() throws IOException { target.close(); } /** * Resets the target to the latest mark, * * @throws IOException If an I/O error occurs while calling the underlying reader's reset method * @see java.io.Reader#reset() */ @Override public void reset() throws IOException { charsRead = markedAt; target.reset(); } /** * marks the target stream * * @param readAheadLimit The number of characters that can be read while * still retaining the ability to do #reset(). * Note that this parameter is not validated with respect to * maxCharsFromTargetReader. There is no way to pass * past maxCharsFromTargetReader, even if this value is * greater. * * @throws IOException If an I/O error occurs while calling the underlying reader's mark method * @see java.io.Reader#mark(int) */ @Override public void mark( final int readAheadLimit ) throws IOException { this.readAheadLimit = readAheadLimit - charsRead; markedAt = charsRead; target.mark( readAheadLimit ); } /** * Reads a single character * * @return -1 on eof or the character read * @throws IOException If an I/O error occurs while calling the underlying reader's read method * @see java.io.Reader#read() */ @Override public int read() throws IOException { if ( charsRead >= maxCharsFromTargetReader ) { return -1; } if ( markedAt >= 0 && ( charsRead - markedAt ) >= readAheadLimit ) { return -1; } charsRead++; return target.read(); } /** * Reads into an array * * @param cbuf The buffer to fill * @param off The offset * @param len The number of chars to read * @return the number of chars read * @throws IOException If an I/O error occurs while calling the underlying reader's read method * @see java.io.Reader#read(char[], int, int) */ @Override public int read( final char[] cbuf, final int off, final int len ) throws IOException { int c; for ( int i = 0; i < len; i++ ) { c = read(); if ( c == -1 ) { return i == 0 ? -1 : i; } cbuf[off + i] = (char) c; } return len; } }
⏎ org/apache/commons/io/input/BoundedReader.java
Or download all of them as a single archive file:
File name: commons-io-2.6-sources.jar File size: 280834 bytes Release date: 2017-10-05 Download
⇒ Download and Install commons-io-2.5-bin.zip
2020-12-09, 61855👍, 1💬
Popular Posts:
iText is an ideal library for developers looking to enhance web- and other applications with dynamic...
Jettison is a collection of Java APIs (like STaX and DOM) which read and write JSON. This allows nea...
JDK 11 java.rmi.jmod is the JMOD file for JDK 11 RMI (Remote Method Invocation) module. JDK 11 RMI m...
Apache Log4j IOStreams is a Log4j API extension that provides numerous classes from java.io that can...
How to read XML document from socket connections with the socket\DelayedInput.java provided in the A...