/** * 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); } }
/** * 指定されたエンコーディングのファイルからプラットフォームデフォルトエンコーディングのファイルへコピーします。 * * @param in 入力ファイル。{@literal null}であってはいけません * @param encoding エンコーディング。{@literal null}や空文字列であってはいけません * @param out 出力ファイル。{@literal null}であってはいけません * @return コピーした文字数 */ public static int copy(final File in, final String encoding, final File out) { assertArgumentNotNull("in", in); assertArgumentNotEmpty("encoding", encoding); assertArgumentNotNull("out", out); final Reader is = ReaderUtil.create(in, encoding); try { final Writer os = WriterUtil.create(out); try { return copyInternal(wrap(is), wrap(os)); } finally { CloseableUtil.close(os); } } finally { CloseableUtil.close(is); } }
/** * プラットフォームのデフォルトエンコーディングで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); } }
/** * プラットフォームのデフォルトエンコーディングでファイルから{@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); } }
/** * プラットフォームのデフォルトエンコーディングでリーダーからファイルへコピーします。 * * <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); } }
/** * 指定されたエンコーディングで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); } }
/** * プラットフォームデフォルトエンコーディングのバイト配列から指定されたエンコーディングのファイルへコピーします。 * * @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); } }
/** * バイト配列からファイルへコピーします。 * * @param in バイト配列。{@literal null}であってはいけません * @param out ファイル。{@literal null}であってはいけません * @return コピーしたバイト数 */ public static int copy(final byte[] in, final File out) { assertArgumentNotNull("in", in); assertArgumentNotNull("out", out); final FileOutputStream os = OutputStreamUtil.create(out); try { final FileChannel channel = os.getChannel(); final ByteBuffer buffer = ByteBuffer.wrap(in); return ChannelUtil.write(channel, buffer); } finally { CloseableUtil.close(os); } }
/** * 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); } }
/** * ファイルから出力ストリームへコピーします。 * * <p>出力ストリームはクローズされません。 * * @param in ファイル。{@literal null}であってはいけません * @param out 出力ストリーム。{@literal null}であってはいけません * @return コピーしたバイト数 */ public static int copy(final File in, final OutputStream out) { assertArgumentNotNull("in", in); assertArgumentNotNull("out", out); final FileInputStream is = InputStreamUtil.create(in); try { if (out instanceof FileOutputStream) { return copyInternal(is, (FileOutputStream) out); } return copyInternal(is, wrap(out)); } finally { CloseableUtil.close(is); } }
/** * 入力ストリームからファイルへコピーします。 * * <p>入力ストリームはクローズされません。 * * @param in 入力ストリーム。{@literal null}であってはいけません * @param out ファイル。{@literal null}であってはいけません * @return コピーしたバイト数 */ public static int copy(final InputStream in, final File out) { assertArgumentNotNull("in", in); assertArgumentNotNull("out", out); final FileOutputStream os = OutputStreamUtil.create(out); try { if (in instanceof FileInputStream) { return copyInternal((FileInputStream) in, os); } return copyInternal(wrap(in), os); } finally { CloseableUtil.close(os); } }