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

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

我一直感到困扰的是,在Java中复制文件的唯一方法是打开流、声明缓冲区、读取一个文件、循环它并将其写入另一个蒸汽中。Web上到处都是类似的、但仍然略有不同的这种解决方案的实现。

是否有更好的方法保持在Java语言的范围内(这意味着不涉及执行操作系统特定的命令)?也许在一些可靠的开源实用程序包中,这至少会模糊这个底层实现,并提供一个单行解决方案?


Helenr
浏览 616回答 3
3回答

沧海一幻觉

现在,使用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() );}很时髦,嗯?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java