`
xiaoyuclub
  • 浏览: 19377 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

java目录拷贝

    博客分类:
  • java
阅读更多

虽然现在文件的拷贝都用 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();
			}

		}

	}

 

分享到:
评论

相关推荐

    Java 浅拷贝性能比较完整源码

    接下来,在`shallow-copy-sample`目录下,创建一个JMH测试类,例如`ShallowCopyBenchmark`,并实现`@Benchmark`方法来衡量浅拷贝的性能: ```java import org.openjdk.jmh.annotations.Benchmark; import org....

    java值拷贝

    在Java编程中,值拷贝(Value Copy)是一种常见的数据操作,主要用于对象之间的属性值复制。这个主题涉及到Java中的浅拷贝和深拷贝概念,以及如何利用工具库如Apache Commons BeanUtils进行对象属性的便捷复制。 ...

    java 文件拷贝

    在Java中,文件拷贝是常见的数据操作之一,涉及到数据的读取和写入。文件拷贝可以通过标准的IO流来实现,其中主要有两种不同的拷贝方案。 第一种方案是将文件内容一次性读取到内存中,然后再一次性写入到目标文件。...

    用java实现文件拷贝

    Java实现文件拷贝的小程序 本资源是一个使用Java语言实现文件拷贝的小程序,具有很实用的功能。下面是对这个小程序的详细解释和知识点总结: 文件拷贝的基本概念 文件拷贝是将一个文件的内容复制到另一个文件中,...

    Java实现Linux的远程拷贝

    本篇将详细探讨如何使用Java来实现Linux系统的远程拷贝功能。 首先,要实现Linux的远程拷贝,我们需要用到Java的SSH(Secure Shell)库,例如JSch。JSch是Java的一个开源库,提供了SSH2协议的实现,允许我们通过SSH...

    java 深度拷贝 复制 深度复制.zip

    在Java编程中,深度拷贝和浅拷贝是两种重要的对象复制方式,它们涉及到对象的内存管理和内存结构的复制。本篇文章将详细讲解如何利用Java的反射机制实现深度拷贝,以及这种方式的优点和注意事项。 首先,理解深度...

    java 递归拷贝文件显示进度demo

    在Java编程中,递归拷贝文件是一种常见操作,特别是在处理目录结构时。这个"java 递归拷贝文件显示进度demo"是一个实用的示例,它不仅实现了从一个源目录到目标目录的深度拷贝,而且还提供了进度显示功能,这对于...

    Java 实现拷贝文件

    这里是Java拷贝文件的java文件 可以按照自己选择要拷贝的文本文件 和将拷贝文件存放的目录 只需输入目标文件的地址 和目的文件的地址 以及文件名 即可实现 是课堂例子的拓展实现

    java实现一个目录下全部文件复制到另一目录

    在Java编程语言中,复制一个目录下的所有文件到另一个目录是一项常见的任务,特别是在处理文件系统操作时。这个过程涉及到文件的遍历、读取和写入。以下将详细讲解如何实现这一功能,以及相关的Java API和技术点。 ...

    功能强大的java实现的拷贝文件的工具类(0)

    功能强大的文件拷贝工具类... @param isClone true:将按照源文件目录拷贝,false:将提取出文件拷贝到目标目录  @return 实际复制的字节数,如果文件、目录不存在、文件为null或者发生IO异常,返回-1 真实项目中用的

    使用java反射机制实现java的深拷贝

    在Java编程中,深拷贝和浅拷贝是两种常见的对象拷贝方式。它们主要区别在于,浅拷贝仅复制对象本身,而不复制它引用的对象;而深拷贝则会递归地复制对象及其所有引用的对象。在某些情况下,如需要完全独立的副本时,...

    教你如何将java代码拷贝到有道云笔记

    整个将Java代码拷贝到有道云笔记的步骤可以详细分解如下: 1. 代码准备:首先,你需要在开发环境中,比如MyEclipse中编写好Java代码,然后选中需要拷贝的代码段,执行复制操作。这一步骤中,确保代码是完整且没有...

    java swing拷贝文件进度条

    在Java Swing中实现文件拷贝并同时显示进度条是一项常见的任务,特别是在处理大文件时,让用户了解拷贝进度是提高用户体验的重要方式。下面我们将深入探讨如何使用Java Swing来创建这样一个功能。 首先,我们需要...

    线程池拷贝目录程序代码

    利用线程池实现拷贝目录的效果,让其效果等同于cp命令。

    java 局域网拷贝文件

    在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程序 文件的拷贝InputStream类Java SE程序 文件的拷贝...

    java文件夹的拷贝

    综上所述,Java文件夹的拷贝涉及了文件系统的操作、文件和目录的遍历、文件的读写与复制等多个知识点。`copyFile.java`源码文件为我们提供了一个基础的实现,通过理解和扩展这个代码,我们可以根据实际需求构建更...

    第12讲 Java有几种文件拷贝方式?哪一种最高效?1

    在Java编程中,文件拷贝是一项常见的操作,有多种实现方式。本节主要讨论了三种典型的方法,并探讨了它们的效率和底层实现机制。 首先,Java.IO类库提供了一种基于`FileInputStream`和`FileOutputStream`的文件拷贝...

    《剑指offer》Java浅拷贝和深拷贝.pdf

    Java中的对象拷贝是一个重要的概念,特别是在面试和实际开发中经常被讨论。对象拷贝意味着创建一个与原对象相同的新对象,新对象是原对象的一个副本。在Java中,对象拷贝分为两种主要类型:浅拷贝(Shallow Copy)和...

Global site tag (gtag.js) - Google Analytics