aliocrlib/src/main/java/com/lib/aliocr/utils/io/IOUtils.java
/**
     * Copy chars from a <code>Reader</code> to a <code>Writer</code>.
     * <p/>
     * This method buffers the input internally, so there is no need to use a
     * <code>BufferedReader</code>.
     * <p/>
     * Large streams (over 2GB) will return a chars copied value of
     * <code>-1</code> after the copy has completed since the correct
     * number of chars cannot be returned as an int. For large streams
     * use the <code>copyLarge(Reader, Writer)</code> method.
     *
     * @param input  the <code>Reader</code> to read from
     * @param output the <code>Writer</code> to write to
     * @return the number of characters copied, or -1 if &gt; Integer.MAX_VALUE
     * @throws NullPointerException if the input or output is null
     * @throws IOException          if an I/O error occurs
     * @since 1.1
     */
Copy chars from a Reader to a Writer.

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

Large streams (over 2GB) will return a chars copied value of
-1 after the copy has completed since the correct
number of chars cannot be returned as an int. For large streams
use the copyLarge(Reader, Writer) method.


Copy chars from a Reader to a Writer . This method buffers the input internally so there is no need to use a BufferedReader . Large streams ( over 2GB ) will return a chars copied value of - 1 after the copy has completed since the correct number of chars cannot be returned as an int . For large streams use the copyLarge ( Reader Writer ) method .
@SuppressWarnings("UnusedReturnValue")
    public static int copy(Reader input, Writer output) throws IOException {
        long count = copyLarge(input, output);
        if (count > Integer.MAX_VALUE) {
            return -1;
        }
        return (int) count;
    }
@ SuppressWarnings ( "UnusedReturnValue" ) public static int copy ( Reader input , Writer output ) throws IOException { long count = copyLarge ( input , output ) ; if ( count > Integer . MAX_VALUE ) { return - 1 ; } return ( int ) count ; }
Copy chars from a <code>Reader</code> to a <code>Writer</code>.
Copy chars from a <code > Reader< / code > to a <code > Writer< / code > .