1hutool实战:IoUtil 流操作工具类(copy拷贝操作)

简介: 1hutool实战:IoUtil 流操作工具类(copy拷贝操作)

image.png

用途:IO工具类(copy拷贝操作)

使用场景

IO工具类只是辅助流的读写,并不负责关闭流。原因是流可能被多次读写,读写关闭后容易造成问题。

(copy拷贝操作)

(copy拷贝操作)

(copy拷贝操作)

项目引用

此博文的依据:hutool-5.6.5版本源码image.pngimage.pngimage.pngimage.pngimage.png

public class StreamProgressObj implements StreamProgress {
  @Override
  public void start() {
    System.out.println("copy操作进度开始");
  }
  @Override
  public void progress(long progressSize) {
    System.out.println("当前copy操作进度:"+progressSize);
  }
  @Override
  public void finish() {
    System.out.println("copy操作进度结束");
  }
}
public class IoUtilTest {
  @Test
  public void copyTest3(){
    //事先创建源文件,目标文件可以不用创建
    File src = new File("C:\\Users\\Administrator\\Desktop\\xuzhu/copyTest1.txt") ;
    File dest = new File("C:\\Users\\Administrator\\Desktop\\xuzhu/toCopyTest1.txt") ;
    FileWriter fw = null;
    FileReader fr = null;
    try {
      //创建流
      fw = new FileWriter(dest);
      fr = new FileReader(src);
      StreamProgressObj streamProgressObj = new StreamProgressObj();
      IoUtil.copy(fr,fw,1024,streamProgressObj);
    } catch (IOException e) {
      //抛出一个运行时异常(直接停止掉程序)
      throw new RuntimeException("运行时异常",e);
    } finally {
      try {
        //如果是空的 说明流创建失败 失败了不需要关闭
        if (fw != null) {
          fw.close();
        }
      } catch (Exception e) {
        //关闭资源失败 停止程序
        throw new RuntimeException("关闭资源失败");
      }finally {
        try {
          if (fr != null) {
            fr.close();
          }
        } catch (Exception e) {
          throw new RuntimeException("关闭资源失败");
        }
      }
    }
  }
}

image.pngimage.png

方法明细

方法名称:cn.hutool.core.io.IoUtil.copy(java.io.InputStream, java.io.OutputStream, int)

方法描述

拷贝流,拷贝后不关闭流

支持版本及以上

参数描述:image.pngimage.pngimage.pngimage.pngimage.png

目录
相关文章
|
5月前
|
Java
File类的基本使用【 File类+IO流知识回顾①】
这篇文章回顾了Java中File类的基本使用,包括创建File对象、获取文件数据信息、判断文件存在与否、创建和删除文件目录,以及遍历文件目录的方法。
File类的基本使用【 File类+IO流知识回顾①】
|
6月前
|
Java API
Java文件处理完全指南:创建、读取、写入和删除文件详细解析
Java的文件处理非常灵活和强大。通过上述代码示例,我们可以清楚地理解在Java中如何高效地进行文件的创建、读取、写入和删除操作。值得注意的是,文件操作时我们常常会用到一些流(Stream)和读写字符的类,在操作完成之后,应当及时关闭这些资源,这可以通过使用try-with-resources语句来自动完成。这种方法不仅代码简洁,还能有效防止资源泄漏。总体而言,熟练掌握Java文件处理对于开发实用、健壮的应用程序至关重要。
507 1
|
9月前
|
Java
【文件操作】Java -操作File对象
【文件操作】Java -操作File对象
75 0
|
9月前
|
Java
Java 文件处理完全指南:创建、读取、写入和删除文件详细解析
文件处理简介 文件处理是任何应用程序的重要部分。Java 提供了许多用于创建、读取、更新和删除文件的方法。 Java 文件处理 Java 中的文件处理主要通过 java.io 包中的 File 类完成。该类允许我们处理文件,包括创建、读取、写入和删除文件。
609 1
|
Java
【Java】文件的拷贝(直接拷贝,借助缓冲区拷贝)完整代码实现
【Java】文件的拷贝(直接拷贝,借助缓冲区拷贝)完整代码实现
127 0
Java:文件io流继承体系文件读取文件写入
Java:文件io流继承体系文件读取文件写入
112 0
Java:文件写入读取操作和工具类
Java:文件写入读取操作和工具类
376 0
|
安全
3hutool实战:IoUtil 流操作工具类(从流中读取内容)
3hutool实战:IoUtil 流操作工具类(从流中读取内容)
975 0
3hutool实战:IoUtil 流操作工具类(从流中读取内容)
5hutool实战:IoUtil 流操作工具类(将内容写到流中)
5hutool实战:IoUtil 流操作工具类(将内容写到流中)
280 0
5hutool实战:IoUtil 流操作工具类(将内容写到流中)
6hutool实战:IoUtil 流操作工具类(流的常用操作)
6hutool实战:IoUtil 流操作工具类(流的常用操作)
441 0
6hutool实战:IoUtil 流操作工具类(流的常用操作)

热门文章

最新文章