diff --git a/UPDATE.md b/UPDATE.md index 0afc010..f3e9149 100644 --- a/UPDATE.md +++ b/UPDATE.md @@ -1,11 +1,19 @@ yexuejc-base 更新记录 ------------------ +#### version :1.1.2 +**time:** 2018-5-16 15:03:28
+**branch:** master
+**update:**
+>1.修改依赖 + +# #### version :1.1.1 **time:** 2018-5-12 22:25:05
**branch:** master
**update:**
>1.添加RSA +# ##### version :1.1.0 **time:** 2018-5-12 22:25:05
diff --git a/pom.xml b/pom.xml index 3adc195..9204f47 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.yexuejc.base yexuejc-base - 1.1.1 + 1.1.2 ${project.artifactId} @@ -22,6 +22,7 @@ 1.8 1.1.0.Final 1.10 + 2.6 @@ -30,14 +31,12 @@ io.jsonwebtoken jjwt ${jjwt.version} - true javax.validation validation-api ${validation-api.version} - true @@ -45,7 +44,12 @@ commons-codec ${commons-codec.version} compile - true + + + + commons-io + commons-io + ${commons-io.version} diff --git a/src/main/java/com/yexuejc/base/encrypt/IOUtils.java b/src/main/java/com/yexuejc/base/encrypt/IOUtils.java deleted file mode 100644 index cb2eea8..0000000 --- a/src/main/java/com/yexuejc/base/encrypt/IOUtils.java +++ /dev/null @@ -1,249 +0,0 @@ -/* - * 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 com.yexuejc.base.encrypt; - -import java.io.*; - -/** - * General IO stream manipulation utilities. - *

- * This class provides static utility methods for input/output operations. - *

- *

- * The byte-to-char methods and char-to-byte methods involve a conversion step. - * Two methods are provided in each case, one that uses the platform default - * encoding and the other which allows you to specify an encoding. You are - * encouraged to always specify an encoding because relying on the platform - * default can lead to unexpected results, for example when moving from - * development to production. - *

- * All the methods in this class that read a stream are buffered internally. - * This means that there is no cause to use a BufferedInputStream - * or BufferedReader. The default buffer size of 4K has been shown - * to be efficient in tests. - *

- * Wherever possible, the methods in this class do not flush or close - * the stream. This is to avoid making non-portable assumptions about the - * streams' origin and further use. Thus the caller is still responsible for - * closing streams after use. - *

- * Origin of code: Excalibur. - */ -public class IOUtils { - // NOTE: This class is focused on InputStream, OutputStream, Reader and - // Writer. Each method should take at least one of these as a parameter, - // or return one of them. - - private static final int EOF = -1; - - /** - * The default buffer size ({@value}) to use for - * {@link #copyLarge(InputStream, OutputStream)} - * and - * {@link (Reader, Writer)} - */ - private static final int DEFAULT_BUFFER_SIZE = 1024 * 4; - - /** - * Instances should NOT be constructed in standard programming. - */ - public IOUtils() { - super(); - } - - /** - * Closes a Closeable unconditionally. - *

- * Equivalent to {@link Closeable#close()}, except any exceptions will be ignored. This is typically used in - * finally blocks. - *

- * Example code: - *

- *
-     * Closeable closeable = null;
-     * try {
-     *     closeable = new FileReader("foo.txt");
-     *     // process closeable
-     *     closeable.close();
-     * } catch (Exception e) {
-     *     // error handling
-     * } finally {
-     *     IOUtils.closeQuietly(closeable);
-     * }
-     * 
- *

- * Closing all streams: - *

- *
-     * try {
-     *     return IOUtils.copy(inputStream, outputStream);
-     * } finally {
-     *     IOUtils.closeQuietly(inputStream);
-     *     IOUtils.closeQuietly(outputStream);
-     * }
-     * 
- * - * @param closeable the objects to close, may be null or already closed - * @since 2.0 - */ - public static void closeQuietly(final Closeable closeable) { - try { - if (closeable != null) { - closeable.close(); - } - } catch (final IOException ioe) { - // ignore - } - } - - // copy from InputStream - //----------------------------------------------------------------------- - /** - * Copies bytes from an InputStream to an - * OutputStream. - *

- * This method buffers the input internally, so there is no need to use a - * BufferedInputStream. - *

- * Large streams (over 2GB) will return a bytes copied value of - * -1 after the copy has completed since the correct - * number of bytes cannot be returned as an int. For large streams - * use the copyLarge(InputStream, OutputStream) method. - * - * @param input the InputStream to read from - * @param output the OutputStream to write to - * @return the number of bytes copied, or -1 if > Integer.MAX_VALUE - * @throws NullPointerException if the input or output is null - * @throws IOException if an I/O error occurs - * @since 1.1 - */ - public static int copy(final InputStream input, final OutputStream output) throws IOException { - final long count = copyLarge(input, output); - if (count > Integer.MAX_VALUE) { - return -1; - } - return (int) count; - } - - /** - * Copies bytes from a large (over 2GB) InputStream to an - * OutputStream. - *

- * This method buffers the input internally, so there is no need to use a - * BufferedInputStream. - *

- * The buffer size is given by {@link #DEFAULT_BUFFER_SIZE}. - * - * @param input the InputStream to read from - * @param output the OutputStream to write to - * @return the number of bytes copied - * @throws NullPointerException if the input or output is null - * @throws IOException if an I/O error occurs - * @since 1.3 - */ - public static long copyLarge(final InputStream input, final OutputStream output) - throws IOException { - - byte[] buffer = new byte[DEFAULT_BUFFER_SIZE]; - long count = 0; - int n = 0; - while (EOF != (n = input.read(buffer))) { - output.write(buffer, 0, n); - count += n; - } - return count; - } - - /** - * Reads bytes from an input stream. - * This implementation guarantees that it will read as many bytes - * as possible before giving up; this may not always be the case for - * subclasses of {@link InputStream}. - * - * @param input where to read input from - * @param buffer destination - * @param offset initial offset into buffer - * @param length length to read, must be >= 0 - * @return actual length read; may be less than requested if EOF was reached - * @throws IOException if a read error occurs - * @since 2.2 - */ - public static int read(final InputStream input, final byte[] buffer, final int offset, final int length) - throws IOException { - if (length < 0) { - throw new IllegalArgumentException("Length must not be negative: " + length); - } - int remaining = length; - while (remaining > 0) { - final int location = length - remaining; - final int count = input.read(buffer, offset + location, remaining); - if (EOF == count) { // EOF - break; - } - remaining -= count; - } - return length - remaining; - } - - /** - * Reads the requested number of bytes or fail if there are not enough left. - *

- * This allows for the possibility that {@link InputStream#read(byte[], int, int)} may - * not read as many bytes as requested (most likely because of reaching EOF). - * - * @param input where to read input from - * @param buffer destination - * @param offset initial offset into buffer - * @param length length to read, must be >= 0 - * - * @throws IOException if there is a problem reading the file - * @throws IllegalArgumentException if length is negative - * @throws EOFException if the number of bytes read was incorrect - * @since 2.2 - */ - public static void readFully(final InputStream input, final byte[] buffer, final int offset, final int length) - throws IOException { - final int actual = read(input, buffer, offset, length); - if (actual != length) { - throw new EOFException("Length to read: " + length + " actual: " + actual); - } - } - - /** - * Reads the requested number of bytes or fail if there are not enough left. - *

- * This allows for the possibility that {@link InputStream#read(byte[], int, int)} may - * not read as many bytes as requested (most likely because of reaching EOF). - * - * @param input where to read input from - * @param buffer destination - * - * @throws IOException if there is a problem reading the file - * @throws IllegalArgumentException if length is negative - * @throws EOFException if the number of bytes read was incorrect - * @since 2.2 - */ - public static void readFully(final InputStream input, final byte[] buffer) throws IOException { - readFully(input, buffer, 0, buffer.length); - } -} diff --git a/src/main/java/com/yexuejc/base/encrypt/RSA.java b/src/main/java/com/yexuejc/base/encrypt/RSA.java index fa8c1e6..15ee943 100644 --- a/src/main/java/com/yexuejc/base/encrypt/RSA.java +++ b/src/main/java/com/yexuejc/base/encrypt/RSA.java @@ -2,6 +2,7 @@ package com.yexuejc.base.encrypt; import org.apache.commons.codec.binary.Base64; +import org.apache.commons.io.IOUtils; import javax.crypto.Cipher; import java.io.ByteArrayOutputStream;