为了账号安全,请及时绑定邮箱和手机立即绑定

用Java复制文件的标准简洁方法?

用Java复制文件的标准简洁方法?

Helenr 2019-06-06 15:50:18
用Java复制文件的标准简洁方法?我一直感到困扰的是,在Java中复制文件的唯一方法是打开流、声明缓冲区、读取一个文件、循环它并将其写入另一个蒸汽中。Web上到处都是类似的、但仍然略有不同的这种解决方案的实现。是否有更好的方法保持在Java语言的范围内(这意味着不涉及执行操作系统特定的命令)?也许在一些可靠的开源实用程序包中,这至少会模糊这个底层实现,并提供一个单行解决方案?
查看完整描述

3 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

现在,使用Java 7,您可以使用以下具有资源的尝试语法:

public static void copyFile( File from, File to ) throws IOException {

    if ( !to.exists() ) { to.createNewFile(); }

    try (
        FileChannel in = new FileInputStream( from ).getChannel();
        FileChannel out = new FileOutputStream( to ).getChannel() ) {

        out.transferFrom( in, 0, in.size() );
    }}

或者,更好的是,也可以使用Java 7中引入的新Files类来实现这一点:

public static void copyFile( File from, File to ) throws IOException {
    Files.copy( from.toPath(), to.toPath() );}

很时髦,嗯?


查看完整回答
反对 回复 2019-06-06
  • 3 回答
  • 0 关注
  • 615 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信