Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (102)
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 (322)
Collections:
Other Resources:
What Is commons-io-2.11.jar
What Is commons-io-2.11.jar?
✍: FYIcenter.com
commons-io-2.11.jar is the JAR file for Commons IO 2.5,
which is a library of utilities to assist with developing IO functionality.
JAR File Size and Download Location:
JAR name: commons-io-2.11.0.jar Target JDK version: 8 Dependency: None File name: commons-io.jar, commons-io-2.11.0.jar File size: 327135 bytes Release date: 01-22-2020 Download: Apache Commons IO Website
Java source code files for commons-io-2.11.jar are:
⏎ org/apache/commons/io/output/ByteArrayOutputStream.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.output;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
/**
* Implements a ThreadSafe version of {@link AbstractByteArrayOutputStream} using instance synchronization.
*/
//@ThreadSafe
public class ByteArrayOutputStream extends AbstractByteArrayOutputStream {
/**
* Creates a new byte array output stream. The buffer capacity is
* initially {@value AbstractByteArrayOutputStream#DEFAULT_SIZE} bytes, though its size increases if necessary.
*/
public ByteArrayOutputStream() {
this(DEFAULT_SIZE);
}
/**
* Creates a new byte array output stream, with a buffer capacity of
* the specified size, in bytes.
*
* @param size the initial size
* @throws IllegalArgumentException if size is negative
*/
public ByteArrayOutputStream(final int size) {
if (size < 0) {
throw new IllegalArgumentException(
"Negative initial size: " + size);
}
synchronized (this) {
needNewBuffer(size);
}
}
@Override
public void write(final byte[] b, final int off, final int len) {
if ((off < 0)
|| (off > b.length)
|| (len < 0)
|| ((off + len) > b.length)
|| ((off + len) < 0)) {
throw new IndexOutOfBoundsException();
}
if (len == 0) {
return;
}
synchronized (this) {
writeImpl(b, off, len);
}
}
@Override
public synchronized void write(final int b) {
writeImpl(b);
}
@Override
public synchronized int write(final InputStream in) throws IOException {
return writeImpl(in);
}
@Override
public synchronized int size() {
return count;
}
/**
* @see java.io.ByteArrayOutputStream#reset()
*/
@Override
public synchronized void reset() {
resetImpl();
}
@Override
public synchronized void writeTo(final OutputStream out) throws IOException {
writeToImpl(out);
}
/**
* Fetches entire contents of an {@code InputStream} and represent
* same data as result InputStream.
* <p>
* This method is useful where,
* </p>
* <ul>
* <li>Source InputStream is slow.</li>
* <li>It has network resources associated, so we cannot keep it open for
* long time.</li>
* <li>It has network timeout associated.</li>
* </ul>
* It can be used in favor of {@link #toByteArray()}, since it
* avoids unnecessary allocation and copy of byte[].<br>
* This method buffers the input internally, so there is no need to use a
* {@code BufferedInputStream}.
*
* @param input Stream to be fully buffered.
* @return A fully buffered stream.
* @throws IOException if an I/O error occurs.
* @since 2.0
*/
public static InputStream toBufferedInputStream(final InputStream input)
throws IOException {
return toBufferedInputStream(input, DEFAULT_SIZE);
}
/**
* Fetches entire contents of an {@code InputStream} and represent
* same data as result InputStream.
* <p>
* This method is useful where,
* </p>
* <ul>
* <li>Source InputStream is slow.</li>
* <li>It has network resources associated, so we cannot keep it open for
* long time.</li>
* <li>It has network timeout associated.</li>
* </ul>
* It can be used in favor of {@link #toByteArray()}, since it
* avoids unnecessary allocation and copy of byte[].<br>
* This method buffers the input internally, so there is no need to use a
* {@code BufferedInputStream}.
*
* @param input Stream to be fully buffered.
* @param size the initial buffer size
* @return A fully buffered stream.
* @throws IOException if an I/O error occurs.
* @since 2.5
*/
public static InputStream toBufferedInputStream(final InputStream input, final int size)
throws IOException {
try (final ByteArrayOutputStream output = new ByteArrayOutputStream(size)) {
output.write(input);
return output.toInputStream();
}
}
@Override
public synchronized InputStream toInputStream() {
return toInputStream(java.io.ByteArrayInputStream::new);
}
@Override
public synchronized byte[] toByteArray() {
return toByteArrayImpl();
}
}
⏎ org/apache/commons/io/output/ByteArrayOutputStream.java
Or download all of them as a single archive file:
File name: commons-io-2.11.0-sources.jar File size: 398939 bytes Release date: 2020-01-22 Download
⇒ Download and Install commons-io-2.6-bin.zip
⇐ What Is commons-io-2.11-bin.zip
2022-11-10, ≈119🔥, 2💬
Popular Posts:
JDK 11 jdk.internal.le.jmod is the JMOD file for JDK 11 Internal Line Editing module. JDK 11 Interna...
JDK 17 jdk.internal.vm.ci.jmod is the JMOD file for JDK 17 Internal VM CI module. JDK 17 Internal VM...
How to download and install JDK (Java Development Kit) 8? If you want to write Java applications, yo...
XOM™ is a new XML object model. It is an open source (LGPL), tree-based API for processing XML with ...
What Is commons-net-ftp-2.0.jar? commons-net-ftp-2.0.jar is the JAR file for Apache Commons Net FTP ...