/** * プラットフォームのデフォルトエンコーディングでURLから{@link StringBuilder}へコピーします。 * * @param in URL。{@literal null}であってはいけません * @param out {@link StringBuilder}。{@literal null}であってはいけません * @return コピーした文字数 */ public static int copy(final URL in, final StringBuilder out) { assertArgumentNotNull("in", in); assertArgumentNotNull("out", out); final InputStream is = URLUtil.openStream(in); try { return copyInternal(new InputStreamReader(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); } }
/** * URLから出力ストリームへコピーします。 * * <p>出力ストリームはクローズされません。 * * @param in URL。{@literal null}であってはいけません * @param out 出力ストリーム。{@literal null}であってはいけません * @return コピーしたバイト数 */ public static int copy(final URL in, final OutputStream out) { assertArgumentNotNull("in", in); assertArgumentNotNull("out", out); final InputStream is = URLUtil.openStream(in); try { if (out instanceof FileOutputStream) { return copyInternal(wrap(is), (FileOutputStream) out); } return copyInternal(wrap(is), wrap(out)); } finally { CloseableUtil.close(is); } }
/** * URLからファイルへコピーします。 * * @param in URL。{@literal null}であってはいけません * @param out ファイル。{@literal null}であってはいけません * @return コピーしたバイト数 */ public static int copy(final URL in, final File out) { assertArgumentNotNull("in", in); assertArgumentNotNull("out", out); final InputStream is = URLUtil.openStream(in); try { final FileOutputStream os = OutputStreamUtil.create(out); try { return copyInternal(wrap(is), os); } finally { CloseableUtil.close(os); } } finally { CloseableUtil.close(is); } }
/** * プラットフォームデフォルトエンコーディングの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); } }