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:
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/MessageDigestCalculatingInputStream.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.InputStream; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * This class is an example for using an {@link ObservableInputStream}. It * creates its own {@link org.apache.commons.io.input.ObservableInputStream.Observer}, * which calculates a checksum using a MessageDigest, for example an MD5 sum. * <em>Note</em>: Neither {@link ObservableInputStream}, nor {@link MessageDigest}, * are thread safe. So is {@link MessageDigestCalculatingInputStream}. */ public class MessageDigestCalculatingInputStream extends ObservableInputStream { /** * Maintains the message digest. */ public static class MessageDigestMaintainingObserver extends Observer { private final MessageDigest md; /** * Creates an MessageDigestMaintainingObserver for the given MessageDigest. * @param pMd the message digest to use */ public MessageDigestMaintainingObserver(final MessageDigest pMd) { md = pMd; } @Override void data(final int pByte) throws IOException { md.update((byte) pByte); } @Override void data(final byte[] pBuffer, final int pOffset, final int pLength) throws IOException { md.update(pBuffer, pOffset, pLength); } } private final MessageDigest messageDigest; /** Creates a new instance, which calculates a signature on the given stream, * using the given {@link MessageDigest}. * @param pStream the stream to calculate the message digest for * @param pDigest the message digest to use */ public MessageDigestCalculatingInputStream(final InputStream pStream, final MessageDigest pDigest) { super(pStream); messageDigest = pDigest; add(new MessageDigestMaintainingObserver(pDigest)); } /** Creates a new instance, which calculates a signature on the given stream, * using a {@link MessageDigest} with the given algorithm. * @param pStream the stream to calculate the message digest for * @param pAlgorithm the name of the algorithm to use * @throws NoSuchAlgorithmException if no Provider supports a MessageDigestSpi implementation for the specified algorithm. */ public MessageDigestCalculatingInputStream(final InputStream pStream, final String pAlgorithm) throws NoSuchAlgorithmException { this(pStream, MessageDigest.getInstance(pAlgorithm)); } /** Creates a new instance, which calculates a signature on the given stream, * using a {@link MessageDigest} with the "MD5" algorithm. * @param pStream the stream to calculate the message digest for * @throws NoSuchAlgorithmException if no Provider supports a MessageDigestSpi implementation for the specified algorithm. */ public MessageDigestCalculatingInputStream(final InputStream pStream) throws NoSuchAlgorithmException { this(pStream, MessageDigest.getInstance("MD5")); } /** Returns the {@link MessageDigest}, which is being used for generating the * checksum. * <em>Note</em>: The checksum will only reflect the data, which has been read so far. * This is probably not, what you expect. Make sure, that the complete data has been * read, if that is what you want. The easiest way to do so is by invoking * {@link #consume()}. * @return the message digest used */ public MessageDigest getMessageDigest() { return messageDigest; } }
⏎ org/apache/commons/io/input/MessageDigestCalculatingInputStream.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, 67403👍, 1💬
Popular Posts:
Where Can I see Java Source Code files for Xerces Java 2.11.2? Here are Java Source Code files for X...
JDK 11 jdk.jdi.jmod is the JMOD file for JDK 11 JDI (Java Debug Interface) tool. JDK 11 JDI tool com...
How to download and install ojdbc6.jar for Oracle 11g R2? ojdbc6.jar for Oracle 11g R2 is a Java 6, ...
Where to find answers to frequently asked questions on Downloading and Using JDK (Java Development K...
JSP(tm) Standard Tag Library 1.1 implementation - Jakarta Taglibs hosts the Standard Taglib 1.1, an ...