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/output/ProxyOutputStream.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.FilterOutputStream; import java.io.IOException; import java.io.OutputStream; /** * A Proxy stream which acts as expected, that is it passes the method * calls on to the proxied stream and doesn't change which methods are * being called. It is an alternative base class to FilterOutputStream * to increase reusability. * <p> * See the protected methods for ways in which a subclass can easily decorate * a stream with custom pre-, post- or error processing functionality. * */ public class ProxyOutputStream extends FilterOutputStream { /** * Constructs a new ProxyOutputStream. * * @param proxy the OutputStream to delegate to */ public ProxyOutputStream(final OutputStream proxy) { super(proxy); // the proxy is stored in a protected superclass variable named 'out' } /** * Invokes the delegate's <code>write(int)</code> method. * @param idx the byte to write * @throws IOException if an I/O error occurs */ @Override public void write(final int idx) throws IOException { try { beforeWrite(1); out.write(idx); afterWrite(1); } catch (final IOException e) { handleIOException(e); } } /** * Invokes the delegate's <code>write(byte[])</code> method. * @param bts the bytes to write * @throws IOException if an I/O error occurs */ @Override public void write(final byte[] bts) throws IOException { try { final int len = bts != null ? bts.length : 0; beforeWrite(len); out.write(bts); afterWrite(len); } catch (final IOException e) { handleIOException(e); } } /** * Invokes the delegate's <code>write(byte[])</code> method. * @param bts the bytes to write * @param st The start offset * @param end The number of bytes to write * @throws IOException if an I/O error occurs */ @Override public void write(final byte[] bts, final int st, final int end) throws IOException { try { beforeWrite(end); out.write(bts, st, end); afterWrite(end); } catch (final IOException e) { handleIOException(e); } } /** * Invokes the delegate's <code>flush()</code> method. * @throws IOException if an I/O error occurs */ @Override public void flush() throws IOException { try { out.flush(); } catch (final IOException e) { handleIOException(e); } } /** * Invokes the delegate's <code>close()</code> method. * @throws IOException if an I/O error occurs */ @Override public void close() throws IOException { try { out.close(); } catch (final IOException e) { handleIOException(e); } } /** * Invoked by the write methods before the call is proxied. The number * of bytes to be written (1 for the {@link #write(int)} method, buffer * length for {@link #write(byte[])}, etc.) is given as an argument. * <p> * Subclasses can override this method to add common pre-processing * functionality without having to override all the write methods. * The default implementation does nothing. * * @since 2.0 * @param n number of bytes to be written * @throws IOException if the pre-processing fails */ protected void beforeWrite(final int n) throws IOException { } /** * Invoked by the write methods after the proxied call has returned * successfully. The number of bytes written (1 for the * {@link #write(int)} method, buffer length for {@link #write(byte[])}, * etc.) is given as an argument. * <p> * Subclasses can override this method to add common post-processing * functionality without having to override all the write methods. * The default implementation does nothing. * * @since 2.0 * @param n number of bytes written * @throws IOException if the post-processing fails */ protected void afterWrite(final int n) throws IOException { } /** * Handle any IOExceptions thrown. * <p> * This method provides a point to implement custom exception * handling. The default behaviour is to re-throw the exception. * @param e The IOException thrown * @throws IOException if an I/O error occurs * @since 2.0 */ protected void handleIOException(final IOException e) throws IOException { throw e; } }
⏎ org/apache/commons/io/output/ProxyOutputStream.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, 61894👍, 1💬
Popular Posts:
ASM is an all purpose Java bytecode manipulation and analysis framework. It can be used to modify ex...
What Is jaxb-impl-2.1.12.jar? Java Architecture for XML Binding (JAXB) is a Java API that allows Jav...
JasperReports, the world's most popular open source business intelligence and reporting engine and J...
The JSR 105 XML Digital Signature 1.0.1 FCS implementation provides an API and implementation that a...
What Is mail.jar of JavaMail 1.3? I got the JAR file from javamail-1_3.zip. mail.jar in javamail-1_3...