虽然现在文件的拷贝都用 fileutils开源代码但今天也写写练手FileUtils.copyDirectoryToDirectory(srcDir, destDir);
@Test public void copy3() { //FileUtils.copyDirectoryToDirectory(srcDir, destDir); copy("d:\\a","d:\\b"); System.out.println("ok"); } /** * * @param desrc * 源目录 * @param src * 目标目录 */ public void copy(String desrc, String src) { File file = new File(desrc); if (!file.exists()) { System.out.println("目录不存在"); return; } if (file.isDirectory()) { File descfile = new File(src); if(!descfile.exists()){ descfile.mkdirs(); } File[] dic = file.listFiles(); if (dic != null && dic.length > 0) { for (File f : dic) { // 拷贝 copy(f.getAbsolutePath(), src+File.separator+f.getName()); } } } else { // 拷贝 docopy(file, new File(src)); } } public void docopy(File file, File src) { System.out.println(file.getName()+"===="+file.getAbsolutePath()+"<<<<<"); FileInputStream fin = null; BufferedInputStream bin = null; FileOutputStream fou = null; BufferedOutputStream bou = null; byte[] b = new byte[1024]; try { fin = new FileInputStream(file); bin = new BufferedInputStream(fin); fou = new FileOutputStream(src); bou = new BufferedOutputStream(fou); int i = 0; while ((i=bin.read(b)) != -1) { bou.write(b, 0, i); } bou.flush(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { fin.close(); fou.close(); fou.close(); bou.close(); } catch (IOException e) { e.printStackTrace(); } } }
相关推荐
接下来,在`shallow-copy-sample`目录下,创建一个JMH测试类,例如`ShallowCopyBenchmark`,并实现`@Benchmark`方法来衡量浅拷贝的性能: ```java import org.openjdk.jmh.annotations.Benchmark; import org....
在Java编程中,值拷贝(Value Copy)是一种常见的数据操作,主要用于对象之间的属性值复制。这个主题涉及到Java中的浅拷贝和深拷贝概念,以及如何利用工具库如Apache Commons BeanUtils进行对象属性的便捷复制。 ...
在Java中,文件拷贝是常见的数据操作之一,涉及到数据的读取和写入。文件拷贝可以通过标准的IO流来实现,其中主要有两种不同的拷贝方案。 第一种方案是将文件内容一次性读取到内存中,然后再一次性写入到目标文件。...
Java实现文件拷贝的小程序 本资源是一个使用Java语言实现文件拷贝的小程序,具有很实用的功能。下面是对这个小程序的详细解释和知识点总结: 文件拷贝的基本概念 文件拷贝是将一个文件的内容复制到另一个文件中,...
本篇将详细探讨如何使用Java来实现Linux系统的远程拷贝功能。 首先,要实现Linux的远程拷贝,我们需要用到Java的SSH(Secure Shell)库,例如JSch。JSch是Java的一个开源库,提供了SSH2协议的实现,允许我们通过SSH...
在Java编程中,深度拷贝和浅拷贝是两种重要的对象复制方式,它们涉及到对象的内存管理和内存结构的复制。本篇文章将详细讲解如何利用Java的反射机制实现深度拷贝,以及这种方式的优点和注意事项。 首先,理解深度...
在Java编程中,递归拷贝文件是一种常见操作,特别是在处理目录结构时。这个"java 递归拷贝文件显示进度demo"是一个实用的示例,它不仅实现了从一个源目录到目标目录的深度拷贝,而且还提供了进度显示功能,这对于...
这里是Java拷贝文件的java文件 可以按照自己选择要拷贝的文本文件 和将拷贝文件存放的目录 只需输入目标文件的地址 和目的文件的地址 以及文件名 即可实现 是课堂例子的拓展实现
在Java编程语言中,复制一个目录下的所有文件到另一个目录是一项常见的任务,特别是在处理文件系统操作时。这个过程涉及到文件的遍历、读取和写入。以下将详细讲解如何实现这一功能,以及相关的Java API和技术点。 ...
功能强大的文件拷贝工具类... @param isClone true:将按照源文件目录拷贝,false:将提取出文件拷贝到目标目录 @return 实际复制的字节数,如果文件、目录不存在、文件为null或者发生IO异常,返回-1 真实项目中用的
在Java编程中,深拷贝和浅拷贝是两种常见的对象拷贝方式。它们主要区别在于,浅拷贝仅复制对象本身,而不复制它引用的对象;而深拷贝则会递归地复制对象及其所有引用的对象。在某些情况下,如需要完全独立的副本时,...
整个将Java代码拷贝到有道云笔记的步骤可以详细分解如下: 1. 代码准备:首先,你需要在开发环境中,比如MyEclipse中编写好Java代码,然后选中需要拷贝的代码段,执行复制操作。这一步骤中,确保代码是完整且没有...
在Java Swing中实现文件拷贝并同时显示进度条是一项常见的任务,特别是在处理大文件时,让用户了解拷贝进度是提高用户体验的重要方式。下面我们将深入探讨如何使用Java Swing来创建这样一个功能。 首先,我们需要...
利用线程池实现拷贝目录的效果,让其效果等同于cp命令。
在Java中,我们通常通过IP地址和共享目录来访问局域网内的资源。 要实现局域网文件拷贝,我们需要使用Java的I/O流(InputStream和OutputStream)以及网络套接字(Socket)或NIO(New IO)的FileChannel。以下是一个...
Java SE程序 文件的拷贝InputStream类Java SE程序 文件的拷贝InputStream类Java SE程序 文件的拷贝InputStream类Java SE程序 文件的拷贝InputStream类Java SE程序 文件的拷贝InputStream类Java SE程序 文件的拷贝...
综上所述,Java文件夹的拷贝涉及了文件系统的操作、文件和目录的遍历、文件的读写与复制等多个知识点。`copyFile.java`源码文件为我们提供了一个基础的实现,通过理解和扩展这个代码,我们可以根据实际需求构建更...
在Java编程中,文件拷贝是一项常见的操作,有多种实现方式。本节主要讨论了三种典型的方法,并探讨了它们的效率和底层实现机制。 首先,Java.IO类库提供了一种基于`FileInputStream`和`FileOutputStream`的文件拷贝...
Java中的对象拷贝是一个重要的概念,特别是在面试和实际开发中经常被讨论。对象拷贝意味着创建一个与原对象相同的新对象,新对象是原对象的一个副本。在Java中,对象拷贝分为两种主要类型:浅拷贝(Shallow Copy)和...