예제 #1
0
파일: CopyUtil.java 프로젝트: azusa/s2util
  /**
   * 指定されたエンコーディングでバイト配列からライターへコピーします。
   *
   * <p>ライターはクローズされません。
   *
   * @param in バイト配列。{@literal null}であってはいけません
   * @param encoding エンコーディング。{@literal null}や空文字列であってはいけません
   * @param out ライター。{@literal null}であってはいけません
   * @return コピーした文字数
   */
  public static int copy(final byte[] in, final String encoding, final Writer out) {
    assertArgumentNotNull("in", in);
    assertArgumentNotEmpty("encoding", encoding);
    assertArgumentNotNull("out", out);

    final Reader is = ReaderUtil.create(new ByteArrayInputStream(in), encoding);
    return copyInternal(is, wrap(out));
  }
예제 #2
0
파일: CopyUtil.java 프로젝트: azusa/s2util
  /**
   * 指定のエンコーディングで入力ストリームから{@link StringBuilder}へコピーします。
   *
   * <p>入力ストリームはクローズされません。
   *
   * @param in 入力ストリーム。{@literal null}であってはいけません
   * @param encoding エンコーディング。{@literal null}や空文字列であってはいけません
   * @param out {@link StringBuilder}。{@literal null}であってはいけません
   * @return コピーした文字数
   */
  public static int copy(final InputStream in, final String encoding, final StringBuilder out) {
    assertArgumentNotNull("in", in);
    assertArgumentNotEmpty("encoding", encoding);
    assertArgumentNotNull("out", out);

    final Reader is = ReaderUtil.create(wrap(in), encoding);
    return copyInternal(is, out);
  }
예제 #3
0
파일: CopyUtil.java 프로젝트: azusa/s2util
  /**
   * プラットフォームのデフォルトエンコーディングでファイルから{@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);
    }
  }
예제 #4
0
파일: CopyUtil.java 프로젝트: azusa/s2util
  /**
   * 指定されたエンコーディングで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);
    }
  }
예제 #5
0
파일: CopyUtil.java 프로젝트: azusa/s2util
  /**
   * 指定のエンコーディングでファイルからライターへコピーします。
   *
   * <p>ライターはクローズされません。
   *
   * @param in ファイル。{@literal null}であってはいけません
   * @param encoding エンコーディング。{@literal null}や空文字列であってはいけません
   * @param out ライター。{@literal null}であってはいけません
   * @return コピーした文字数
   */
  public static int copy(final File in, final String encoding, final Writer out) {
    assertArgumentNotNull("in", in);
    assertArgumentNotEmpty("encoding", encoding);
    assertArgumentNotNull("out", out);

    final Reader is = ReaderUtil.create(in, encoding);
    try {
      return copyInternal(wrap(is), wrap(out));
    } finally {
      CloseableUtil.close(is);
    }
  }
예제 #6
0
파일: CopyUtil.java 프로젝트: azusa/s2util
  /**
   * 指定されたエンコーディングのバイト配列から指定されたエンコーディングのファイルへコピーします。
   *
   * @param in バイト配列。{@literal null}であってはいけません
   * @param inputEncoding 入力のエンコーディング。{@literal null}や空文字列であってはいけません
   * @param out ファイル。{@literal null}であってはいけません
   * @param outputEncoding 出力のエンコーディング。{@literal null}や空文字列であってはいけません
   * @return コピーした文字数
   */
  public static int copy(
      final byte[] 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(new ByteArrayInputStream(in), inputEncoding);
    final Writer os = WriterUtil.create(out, outputEncoding);
    try {
      return copyInternal(is, wrap(os));
    } finally {
      CloseableUtil.close(os);
    }
  }
예제 #7
0
파일: CopyUtil.java 프로젝트: azusa/s2util
  /**
   * 指定されたエンコーディングのURLから指定されたエンコーディングのファイルへコピーします。
   *
   * @param in URL。{@literal null}であってはいけません
   * @param inputEncoding URLのエンコーディング。{@literal null}や空文字列であってはいけません
   * @param out ファイル。{@literal null}であってはいけません
   * @param outputEncoding ファイルのエンコーディング。{@literal null}や空文字列であってはいけません
   * @return コピーした文字数
   */
  public static int copy(
      final URL in, final String inputEncoding, final File out, final String outputEncoding) {
    assertArgumentNotNull("in", in);
    assertArgumentNotEmpty("inputEncoding", inputEncoding);
    assertArgumentNotNull("out", out);
    assertArgumentNotEmpty("outputEncoding", outputEncoding);

    final InputStream is = URLUtil.openStream(in);
    try {
      final Writer os = WriterUtil.create(out, outputEncoding);
      try {
        return copyInternal(ReaderUtil.create(wrap(is), inputEncoding), wrap(os));
      } finally {
        CloseableUtil.close(os);
      }
    } finally {
      CloseableUtil.close(is);
    }
  }