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