/** * 指定されたエンコーディングでバイト配列からライターへコピーします。 * * <p>ライターはクローズされません。 * * @param in バイト配列。{@literal null}であってはいけません * @param encoding エンコーディング。{@literal null}や空文字列であってはいけません * @param out ライター。{@literal null}であってはいけません * @return コピーした文字数 */ public static int copy(final byte[] in, final String encoding, final Writer out) { assertArgumentNotNull("in", in); assertArgumentNotEmpty("encoding", encoding); assertArgumentNotNull("out", out); final Reader is = ReaderUtil.create(new ByteArrayInputStream(in), encoding); return copyInternal(is, wrap(out)); }
/** * 指定のエンコーディングで入力ストリームから{@link StringBuilder}へコピーします。 * * <p>入力ストリームはクローズされません。 * * @param in 入力ストリーム。{@literal null}であってはいけません * @param encoding エンコーディング。{@literal null}や空文字列であってはいけません * @param out {@link StringBuilder}。{@literal null}であってはいけません * @return コピーした文字数 */ public static int copy(final InputStream in, final String encoding, final StringBuilder out) { assertArgumentNotNull("in", in); assertArgumentNotEmpty("encoding", encoding); assertArgumentNotNull("out", out); final Reader is = ReaderUtil.create(wrap(in), encoding); return copyInternal(is, out); }
/** * プラットフォームのデフォルトエンコーディングでファイルから{@link StringBuilder}へコピーします。 * * @param in ファイル。{@literal null}であってはいけません * @param out {@link StringBuilder}。{@literal null}であってはいけません * @return コピーした文字数 */ public static int copy(final File in, final StringBuilder out) { assertArgumentNotNull("in", in); assertArgumentNotNull("out", out); final Reader is = ReaderUtil.create(in); try { return copyInternal(wrap(is), out); } finally { CloseableUtil.close(is); } }
/** * 指定されたエンコーディングでURLから{@link StringBuilder}へコピーします。 * * @param in URL。{@literal null}であってはいけません * @param encoding エンコーディング。{@literal null}や空文字列であってはいけません * @param out {@link StringBuilder}。{@literal null}であってはいけません * @return コピーした文字数 */ public static int copy(final URL in, final String encoding, final StringBuilder out) { assertArgumentNotNull("in", in); assertArgumentNotEmpty("encoding", encoding); assertArgumentNotNull("out", out); final InputStream is = URLUtil.openStream(in); try { return copyInternal(ReaderUtil.create(wrap(is), encoding), out); } finally { CloseableUtil.close(is); } }
/** * 指定のエンコーディングでファイルからライターへコピーします。 * * <p>ライターはクローズされません。 * * @param in ファイル。{@literal null}であってはいけません * @param encoding エンコーディング。{@literal null}や空文字列であってはいけません * @param out ライター。{@literal null}であってはいけません * @return コピーした文字数 */ public static int copy(final File in, final String encoding, final Writer out) { assertArgumentNotNull("in", in); assertArgumentNotEmpty("encoding", encoding); assertArgumentNotNull("out", out); final Reader is = ReaderUtil.create(in, encoding); try { return copyInternal(wrap(is), wrap(out)); } finally { CloseableUtil.close(is); } }
/** * 指定されたエンコーディングのバイト配列から指定されたエンコーディングのファイルへコピーします。 * * @param in バイト配列。{@literal null}であってはいけません * @param inputEncoding 入力のエンコーディング。{@literal null}や空文字列であってはいけません * @param out ファイル。{@literal null}であってはいけません * @param outputEncoding 出力のエンコーディング。{@literal null}や空文字列であってはいけません * @return コピーした文字数 */ public static int copy( final byte[] in, final String inputEncoding, final File out, final String outputEncoding) { assertArgumentNotNull("in", in); assertArgumentNotEmpty("inputEncoding", inputEncoding); assertArgumentNotNull("out", out); assertArgumentNotEmpty("outputEncoding", outputEncoding); final Reader is = ReaderUtil.create(new ByteArrayInputStream(in), inputEncoding); final Writer os = WriterUtil.create(out, outputEncoding); try { return copyInternal(is, wrap(os)); } finally { CloseableUtil.close(os); } }
/** * 指定されたエンコーディングのURLから指定されたエンコーディングのファイルへコピーします。 * * @param in URL。{@literal null}であってはいけません * @param inputEncoding URLのエンコーディング。{@literal null}や空文字列であってはいけません * @param out ファイル。{@literal null}であってはいけません * @param outputEncoding ファイルのエンコーディング。{@literal null}や空文字列であってはいけません * @return コピーした文字数 */ public static int copy( final URL in, final String inputEncoding, final File out, final String outputEncoding) { assertArgumentNotNull("in", in); assertArgumentNotEmpty("inputEncoding", inputEncoding); assertArgumentNotNull("out", out); assertArgumentNotEmpty("outputEncoding", outputEncoding); final InputStream is = URLUtil.openStream(in); try { final Writer os = WriterUtil.create(out, outputEncoding); try { return copyInternal(ReaderUtil.create(wrap(is), inputEncoding), wrap(os)); } finally { CloseableUtil.close(os); } } finally { CloseableUtil.close(is); } }