Class MGLIOCopier<S,T>

java.lang.Object
tech.mgl.core.stream.MGLIOCopier<S,T>
Direct Known Subclasses:
MGLChannelCopier, MGLStreamCopier

public abstract class MGLIOCopier<S,T> extends Object
  • Field Details

    • bufferSize

      protected final int bufferSize
    • count

      protected final long count
      拷贝总数
    • progress

      protected MGLStreamProgress progress
      进度条
    • flushEveryBuffer

      protected boolean flushEveryBuffer
      是否每次写出一个buffer内容就执行flush
  • Constructor Details

  • Method Details

    • copy

      public abstract long copy(S source, T target)
      执行拷贝
      Parameters:
      source - 拷贝源,如InputStream、Reader等
      target - 拷贝目标,如OutputStream、Writer等
      Returns:
      拷贝的实际长度
    • bufferSize

      protected int bufferSize(long count)
      缓存大小,取默认缓存和目标长度最小值
      Parameters:
      count - 目标长度
      Returns:
      缓存大小
    • setFlushEveryBuffer

      public MGLIOCopier<S,T> setFlushEveryBuffer(boolean flushEveryBuffer)
      设置是否每次写出一个buffer内容就执行flush
      Parameters:
      flushEveryBuffer - 是否每次写出一个buffer内容就执行flush
      Returns:
      this
      Since:
      5.7.18