예제 #1
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);
    }
  }
예제 #2
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);
    }
  }
예제 #3
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);
    }
  }
예제 #4
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);
    }
  }
예제 #5
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);
    }
  }