`

copy文件到指定目录下面工具类

 
阅读更多
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
 * copy 文件到指定目录下面,并创建文件目录
 * @author wxh64788665@yahoo.cn 20120818:begin
 *
 */
public class GenerateDirecoryUtil {

	/**
	 * web 项目的class路径
	 */
	private final static File fileClass=new File("D:/eclipseForWeb/code/WebApp/WebContent/WEB-INF/classes");
	/**
	 * web 项目的类路径
	 */
	private final static File fileCommon=new File("D:/eclipseForWeb/code/WebApp/WebContent");
	/**
	 * copy的文件存在于这个目录下面,不必创造这个目录
	 */
	private final static File fileLocation=new File("D:/generate");
	/**
	 * class文件路径
	 */
	private final static String STRINGDIRECORYClass[] = { "com.bq.action.ArticleActionTest.class","com.bq.action.JxlTestAction.class"};
	/**
	 * 其它资源文件路径
	 */
	private final static String STRINGDIRECORYCommon[] = { "pages.vba.Combine_vba.jsp"};

	
	public static void main(String[] args) throws Exception {
		GenerateToDirecory();
	}
	
	public static void GenerateToDirecory() throws Exception
	{

		/**
		 * class文件路径中的.替换成/
		 */
		for (int i = 0; i < STRINGDIRECORYClass.length; i++)
			STRINGDIRECORYClass[i] = STRINGDIRECORYClass[i].replace(".", "/");
		/**
		 * 其它资源文件路径中的.替换成/
		 */
		for (int j = 0; j < STRINGDIRECORYCommon.length; j++)
			STRINGDIRECORYCommon[j] = STRINGDIRECORYCommon[j].replace(".", "/");
	
		
		/**
		 * class文件路径中的最后的/替换成.因为最后是class文件,不必生成目录
		 */
		for(int k=0;k<STRINGDIRECORYClass.length; k++)
		{
			int m=STRINGDIRECORYClass[k].lastIndexOf("/");
			String oldStr=STRINGDIRECORYClass[k].substring(m, STRINGDIRECORYClass[k].length());
			String newStr=STRINGDIRECORYClass[k].substring(m+1);
			STRINGDIRECORYClass[k]=STRINGDIRECORYClass[k].replaceAll(oldStr, "."+newStr);
		}
		/**
		 *  其它资源文件路径中的路径中的最后的/替换成.因为最后是class文件,不必生成目录
		 */
		for(int n=0;n<STRINGDIRECORYCommon.length; n++)
		{
			int j=STRINGDIRECORYCommon[n].lastIndexOf("/");
			String oldStr=STRINGDIRECORYCommon[n].substring(j, STRINGDIRECORYCommon[n].length());
			String newStr=STRINGDIRECORYCommon[n].substring(j+1);
			STRINGDIRECORYCommon[n]=STRINGDIRECORYCommon[n].replaceAll(oldStr, "."+newStr);
		}
		
	
		/**
		 * 将日期转换成指定格式
		 */
		SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-mm-dd");
		String sdf=simpleDateFormat.format(new Date());
		
		/**
		 * 循环将指定文件copy到相应的目录下面
		 */
		for (int l = 0; l < STRINGDIRECORYClass.length; l++) {
			File f = new File(new File(fileLocation,sdf),STRINGDIRECORYClass[l]);
			if (!f.getParentFile().exists())
				f.getParentFile().mkdirs();
			copyFile(new File(fileClass,STRINGDIRECORYClass[l]),f);
		}
		
		/**
		 * 循环将资源文件copy到相应的目录下面
		 */
		for (int k = 0; k < STRINGDIRECORYCommon.length; k++) {
			File f = new File(new File(fileLocation,sdf),STRINGDIRECORYCommon[k]);
			if (!f.getParentFile().exists())
				f.getParentFile().mkdirs();
			copyFile(new File(fileCommon,STRINGDIRECORYCommon[k]),f);
		}
	}
	
	/**
	 * 
	 * @param fileIn 要被copy的文件
	 * @param fileOutPut 将文件copy到那个目录下面
	 * @throws Exception
	 */
	private static void copyFile(File fileIn,File fileOutPut) throws Exception
	{
		FileInputStream fileInputStream=new FileInputStream(fileIn);
		FileOutputStream fileOutputStream=new FileOutputStream(fileOutPut);
		byte[] by=new byte[1024];
		int len;
		while((len=fileInputStream.read(by))!=-1)
		{
			fileOutputStream.write(by, 0, len);
		}
		fileInputStream.close();
		fileOutputStream.close();
	}

}


分享到:
评论

相关推荐

    拷贝指定目录下的指定文件类型的文件到指定目录

    标题“拷贝指定目录下的指定文件类型的文件到指定目录”涉及到的是文件操作和批处理脚本编程的知识。在IT行业中,我们经常需要批量处理文件,例如复制、移动或重命名大量文件,尤其当这些文件满足特定条件(如类型、...

    java文件上传下载工具类

    通常,工具类会包含一个方法,接收`HttpServletRequest`,解析请求中的`Part`对象,然后将文件保存到服务器的指定位置。例如: ```java public void handleFileUpload(HttpServletRequest request) { for (Part ...

    复制文件到指定目录.zip

    在C#编程中,复制文件到指定目录是一项常见的任务,特别是在构建软件或处理文件系统操作时。本项目提供了一个简洁的源代码示例,旨在简化这个过程,使其更易于理解和扩展。下面,我们将深入探讨如何在C#中实现这一...

    指定文件批量复制

    本示例中,我们关注的是"指定文件批量复制"的操作,这通常涉及到自动化脚本的编写,特别是使用编程语言如Python来实现。Python因其简洁易读的语法和强大的文件操作能力,成为这类任务的理想选择。 首先,我们需要...

    快速转移文件到别的文件夹工具

    这类工具通常比操作系统内置的文件移动功能更为优化,提供了更快的速度和更高的效率,尤其在处理大型文件时优势明显。 描述中提到的“特别适合转移很大的文件,速度很快”,这表明这个工具可能采用了优化的文件复制...

    U_Copy U盘文件偷取工具

    "U_Copy U盘文件偷取工具" 是一个特定类型的软件,它的主要功能是能够在未经他人许可的情况下,悄无声息地复制或移动U盘中的文件到指定的位置。这种工具通常涉及到计算机安全和隐私问题,因为它可能被用于非法获取...

    java常用工具类封装util.rar

    下面将详细介绍一些Java开发中常见的工具类及其功能。 1. **字符串处理工具类(StringUtil)**:此类通常包含处理字符串的各种方法,如字符串拼接、格式化、去除空白字符、判断是否为空、分割字符串等。例如`isEmpty...

    c#文件目录操作类(全,实用)

    - `File.Copy`: 复制文件到指定位置,可选择是否覆盖已存在的文件。 - `File.Move`: 移动文件到新的位置。 `Directory`类则专注于目录的操作,包括创建、删除、遍历目录等: 1. **创建/删除目录**: - `...

    读写文件到指定位置

    本篇将详细探讨“读文件并写入到指定文件指定位置”的知识点。 首先,要实现这个功能,你需要对Java的I/O流有深入的理解。Java提供了多种类型的输入流(InputStream)和输出流(OutputStream)用于读写文件。在处理...

    批量将目录下所有文件移动到指定目录源码

    标题 "批量将目录下所有文件移动到指定目录源码" 提供了我们即将讨论的核心主题:一种自动化批量处理文件移动的程序。这个程序是用C#编程语言编写的,可以帮助用户快速有效地管理大量文件,避免手动操作带来的繁琐与...

    一个php文件目录操作类

    2. **copyDirectory()**: 类可能会包含一个`copyDir($source, $destination)`方法,用于递归地复制整个目录及其内容到指定位置。 3. **moveDirectory()**: 类中的`moveDir($source, $destination)`方法可以用来移动...

    标准字节流拷贝纯文本文件工具类

    这个名为"标准字节流拷贝纯文本文件工具类"的代码库可能包含了一些辅助方法,旨在简化使用这些类来复制纯文本文件的过程。在不同的JDK版本中,字节流的拷贝方法可能存在一些差异。 在JDK1.6及其之前的版本中,字节...

    Ucopy后台复制U盘中的指定格式文件

    标题“Ucopy后台复制U盘中的指定格式文件”所涉及的知识点主要集中在文件操作、后台处理和U盘安全。在IT行业中,这类功能通常用于数据迁移、备份或特定文件筛选等场景。 首先,我们需要理解“后台复制”的概念。...

    指定文件备份到某个目录下

    综上所述,实现“指定文件备份到某个目录下”的功能,需要结合文件和目录操作、定时任务调度以及Winform的用户交互,借助.NET 6提供的强大工具和类库,我们可以构建出稳定、易用的数据备份解决方案。在实际开发过程...

    java常用工具类

    Java语言在设计时就考虑到了代码的复用性和可维护性,因此提供了许多内置的工具类,这些工具类分布在不同的包下,极大地丰富了Java的功能并简化了开发工作。本篇将详细介绍一些Java中常用的工具类及其应用。 一、`...

    WPF C# 文件夹复制,文件复制

    接着,它获取源目录中的所有文件,并使用`CopyTo`方法将每个文件复制到目标路径。同时,函数还会遍历源目录的所有子目录,对每个子目录递归调用自身,实现整个文件结构的复制。 在WPF应用中,你可以将这个函数封装...

    Delphi文件目录操作一例..rar

    在Delphi编程环境中,文件和目录操作是常见的任务,尤其对于开发系统工具、文件管理软件或是需要处理大量数据的应用程序来说。本示例将详细探讨如何在Delphi中执行文件和目录的操作,以帮助开发者更好地理解和应用...

    3、HDFS的使用(读写、上传、下载、遍历、查找文件、整个目录拷贝、只拷贝文件、列出文件夹下文件、删除文件及目录、获取文件及文件

    为了高效地与HDFS交互,Java API 提供了一套丰富的工具和类库,使得开发者能够方便地进行文件的读写、上传、下载、遍历、查找、拷贝以及管理HDFS上的文件和目录。以下将详细讲解如何使用Java API 操作HDFS。 ### 一...

    监听文件下文件发生变化时复制文件到另一个文件夹

    在IT领域,尤其是在系统管理和自动化任务执行中,有时我们需要实时监控某个目录下的文件变化,并在文件发生变动时执行特定操作,如复制文件到其他位置。这个场景可以通过编程实现,常用的编程语言如Python、Java或C#...

    Delphi 实现copy文件

    这段代码会将指定的源文件复制到目标位置,并在目标文件已经存在时询问用户是否覆盖。`true` 参数表示允许覆盖,如果不想覆盖,可以传入 `false`。 除了 `TFile.Copy` 方法,还可以使用 `TStream` 对象来实现更复杂...

Global site tag (gtag.js) - Google Analytics