最快的文件复制方法
private static void nioTransferCopy(File source, File target) { FileChannel in = null; FileChannel out = null; FileInputStream inStream = null; FileOutputStream outStream = null; try { inStream = new FileInputStream(source); outStream = new FileOutputStream(target); in = inStream.getChannel(); out = outStream.getChannel(); in.transferTo(0, in.size(), out); } catch (IOException e) { e.printStackTrace(); } finally { close(inStream); close(in); close(outStream); close(out); } }
如果需要监测复制进度,可以用以下的方法(留意buffer的大小,对速度有很大影响):
private static void nioBufferCopy(File source, File target) { FileChannel in = null; FileChannel out = null; FileInputStream inStream = null; FileOutputStream outStream = null; try { inStream = new FileInputStream(source); outStream = new FileOutputStream(target); in = inStream.getChannel(); out = outStream.getChannel(); ByteBuffer buffer = ByteBuffer.allocate(4096); while (in.read(buffer) != -1) { buffer.flip(); out.write(buffer); buffer.clear(); } } catch (IOException e) { e.printStackTrace(); } finally { close(inStream); close(in); close(outStream); close(out); } }
常用的方法1是:
private static void customBufferBufferedStreamCopy(File source, File target) { InputStream fis = null; OutputStream fos = null; try { fis = new BufferedInputStream(new FileInputStream(source)); fos = new BufferedOutputStream(new FileOutputStream(target)); byte[] buf = new byte[4096]; int i; while ((i = fis.read(buf)) != -1) { fos.write(buf, 0, i); } } catch (Exception e) { e.printStackTrace(); } finally { close(fis); close(fos); } }
常用的方法2是:
private static void customBufferStreamCopy(File source, File target) { InputStream fis = null; OutputStream fos = null; try { fis = new FileInputStream(source); fos = new FileOutputStream(target); byte[] buf = new byte[4096]; int i; while ((i = fis.read(buf)) != -1) { fos.write(buf, 0, i); } } catch (Exception e) { e.printStackTrace(); } finally { close(fis); close(fos); } }
相关推荐
在这个程序中,可能还使用了`java.nio.file`包中的类,如`Files.copy()`方法,该方法提供了更简洁的文件复制功能,支持异步操作和更高级的选项,如复制属性。 其次,Swing是Java的GUI库,用于构建桌面应用程序。在...
文件复制,具体都是递归一下,没什么难点,大家参考参考。。。。。。。。。。。
Java提供了`java.nio.file`包,其中的`Files`类提供了便捷的文件复制方法。下面是如何使用`copy`方法复制文件的示例: ```java import java.io.IOException; import java.nio.file.Files; import java.nio.file....
Java IO文件操作类与复制文件实例,有关文本编辑、FileWriter文件写入、FileReade文件读娶DataStream文件数据流、BufferedReader文件暂存器、FileViewer文件浏览器、复制文件Copy等方面的操作要领,仅供学习参考。
JavaIO文件复制优化——JavaIO优化详解(下载可用)。个人经导师指导并认可通过的98分大作业设计项目,适用人群:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业或毕业设计,作为“参考资料”使用。...
这个"java文件流学习实验"显然是一系列用Java编写的实验,目的是深入理解和掌握文件流的概念和应用。实验中的代码文件(Test11.java、Test12.java等)很可能包含了不同类型的文件流操作示例,如读取、写入、复制和...
java代码-使用java解决Io文件复制的源代码 ——学习参考资料:仅用于个人学习使用!
java代码-使用java解决文件操作--复制文件的问题的源代码 ——学习参考资料:仅用于个人学习使用!
摘要:Java源码,文件操作,复制文件 Java复制文件,使用Java语言编写拷贝文件的演示小程序,附源代码,注释挺全的,通过本源码你可以学习一下Java对文件的事件处理、取得目录内容的事件处理、如何弹出文件选择器,并...
Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
`.class`文件反编译工具通常采用逆向工程的方法,解析.class文件的字节码结构,并尝试将其翻译成接近原始的Java源代码。这样的工具能够帮助开发者分析库、框架或者无法获得源代码的程序,从而增进理解和学习。尽管反...
5. **保存新文件**:创建新的`Workbook`对象,将复制后的`Sheet`添加到其中,然后使用`Workbook`的`write()`方法将其写入新的Excel文件。 描述中提到的"jar包也是齐全的",意味着提供者可能已经包含了所有必要的...
Java核心技术是Java编程领域的一本经典著作,涵盖了Java语言的基础以及高级特性,是广大Java开发者必备的参考书籍。本PDF版本为《Java核心技术 卷1》,主要关注Java的基础知识,适合初学者和有一定经验的开发者深入...
Java作为广泛使用的编程语言,提供了丰富的API来操作HDFS,使得开发者能够方便地进行文件的读取、写入、复制、移动等操作。本文将详细讲解如何使用Java对HDFS进行文件操作,并介绍两个相关的项目示例。 首先,Java...
Java文件操作是编程中不可或缺的一部分,尤其是在开发桌面应用、服务器端程序或进行自动化任务时。这个压缩包"Java文件操作大全.rar"显然是一份针对初学者的教程,旨在教授如何在Java环境中创建、检查、修改和删除...
Java中的IO API还提供了多种不同的文件复制方式,例如,可以使用流式IO来实现文件复制,也可以使用NIO来实现文件复制。NIO是Java中的新式IO操作方式,提供了更高的性能和更好的灵活性。 在实际应用中,选择合适的...
总的来说,"Java从压缩包中提取文件.rar"这个资源为Java开发者提供了一个学习和参考的实例,涵盖了Swing GUI的创建以及使用Java处理压缩文件的方法,特别是从RAR文件中提取内容。无论是初学者还是有经验的开发者,都...
Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...