Example #1
0
  /**
   * 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);
    }
  }
Example #2
0
  /**
   * プラットフォームデフォルトエンコーディングの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);
    }
  }
Example #3
0
  /**
   * 指定されたエンコーディングのファイルからプラットフォームデフォルトエンコーディングのファイルへコピーします。
   *
   * @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);
    }
  }
Example #4
0
  /**
   * プラットフォームのデフォルトエンコーディングで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);
    }
  }
Example #5
0
  /**
   * プラットフォームのデフォルトエンコーディングでファイルから{@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);
    }
  }
Example #6
0
  /**
   * プラットフォームのデフォルトエンコーディングでリーダーからファイルへコピーします。
   *
   * <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);
    }
  }
Example #7
0
  /**
   * 指定されたエンコーディングで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);
    }
  }
Example #8
0
  /**
   * プラットフォームデフォルトエンコーディングのバイト配列から指定されたエンコーディングのファイルへコピーします。
   *
   * @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);
    }
  }
Example #9
0
  /**
   * バイト配列からファイルへコピーします。
   *
   * @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);
    }
  }
Example #10
0
  /**
   * 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);
    }
  }
Example #11
0
  /**
   * ファイルから出力ストリームへコピーします。
   *
   * <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);
    }
  }
Example #12
0
  /**
   * 入力ストリームからファイルへコピーします。
   *
   * <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);
    }
  }