`

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();
	}

}


分享到:
评论

相关推荐

    Total Commander 文件管理工具

     压缩文件我们几乎每天都会接触到,不得不把WinZip、WinRAR之类的压缩软件安上一堆,还要逐个去学习它们的使用方法。从Windows Me开始,微软在操作系统中加入了对zip文件的支持,使压缩包操作起来像文件夹一样方便...

    AutoCopy2U批量U盘USB存储设备复制备份工具 v1.2.433.102.zip

    AutoCopy2U自动批量USB存储设备拷贝/备份工具软件是一款批量全自动的USB存储设备拷贝/备份工具,可以实现将电脑中或者其他存储设备中的 指定的文件数据,全自动原样的拷贝/备份到新插入的USB移动存储设备中。...

    svn更新工具类.rar

    根据起始版本号到最新版本号,把所有svn账号地址等信息填写完毕,会从svn日志中获取更改记录,下拉到指定文件夹,注意:删除没处理;然后会根据本地项目路径把java文件替换成class文件,路径自动生成,根据我们自己...

    CMD命令大全 学习的必要工具

    COPY 将至少一个文件复制到另一个位置。 DATE 显示或设置日期。 DEL 删除至少一个文件。 DIR 显示一个目录中的文件和子目录。 DISKCOMP 比较两个软盘的内容。 DISKCOPY 将一个软盘的内容复制到另一个软盘。 DOSKEY ...

    网管教程 从入门到精通软件篇.txt

     注意:使用 bootcfg /rebuild 之前,应先通过 bootcfg /copy 命令备份 boot.ini 文件。  bootcfg /scan 扫描用于 Windows 安装的所有磁盘并显示结果。  注意:这些结果被静态存储,并用于本次会话。如果在...

    cmd操作命令和linux命令大全收集

    copy 路径文件名1 路径文件名2 /y 复制文件1到指定的目录为文件2,用参数/y就同时取消确认你要改写一份现存目录文件 copy c:srv.exe ipadmin$ 复制本地c:srv.exe到对方的admin下 copy 1st.jpg/b+2st.txt/a 3st....

    系统增强文件管理器 Total Commander 9.51 + x64 Final 中文.zip

    压缩文件我们几乎每天都会接触到,不得不把WinZip、WinRAR之类的压缩软件安上一堆,还要逐个去学习它们的使用方法。从Windows Me开始,微软在操作系统中加入了对Zip文件的支持,使压缩包操作起来像文件夹一样方便。...

    windows实用dos命令大全

    若找不到该文件,则根据PATH命令所设置的路径,顺序逐条地到目录中搜索该文件;  (2)PATH命令中的路径,若有两条以上,各路径之间以一个分号“;”隔开;  (3)PATH命令有三种使用方法:  PATH[盘符1:][路径1...

    ant1.9资源

    首先我们建立名为antstudy的Java工程,建立src目录为源代码目录,在src目录下建立HelloWorld.java这个类文件。该类文件的内容如下: public class HelloWorld { public static void main(String[] args) { System...

    Linux操作系统基础教程

    我们并不能使同学们通过这次系列讲座成为一个 UNIX 类操作系统的高手,这次系列 讲座的目的就是在同学们中间普及 Linux 基础知识,为今后我们更加接近的了解 Linux 做一 个好的开端。 第一讲 Linux基础 在这一...

    代码语法错误分析工具pclint8.0

    2.将c:\pclint\lnt 下的3个文件lib-w32.lnt,env-vc6.lnt,co-msc60.lnt拷贝至c:\pclint下, 再在安装目录下创建std.lnt和options.lnt两个文件,其中std.lnt的内容如下 // contents of std.lnt c:\pclint\co-msc60...

    Total commander 7.02a

     压缩文件我们几乎天天都会接触到,不得不把WinZip、WinRAR之类的压缩软件安上一堆,还要逐个去学习它们的使用方法。从Windows Me开始,微软在操作系统中加入了对Zip文件的支持,使压缩包操作起来像文件夹一样方便...

    C#全能速查宝典

    分别介绍了C#语言基础、Windows窗体及常用控件、Windows高级控件、控件公共属性、方法及事件、数据库开发、文件、数据流与注册表、GDI+绘图技术和C#高级编程,共包含562个C#编程中常用的属性、方法、类和各种技术,...

    精通windows server 2008 命令行与powershell 电子书PDF单文件完整版

    1.1.6 copy——文件复制 11 1.1.7 robocopy——Windows的可靠文件复制 13 1.1.8 del——删除文件 22 1.1.9 expand——解压缩文件 23 1.1.10 compact——压缩文件 24 1.1.11 fc——文件比较 25 1.1.12 find——查找 ...

    绿色 Sql Server 原理及全新管理工具

    最后说一句,只要你能把几个Sql server版本的数据整理好(主要是系统数据库的路径问题(好像现在盒子已经有绿色企业版的文件了),DLL全部copy就OK了),都可以使用我的管理工具进行管理,呵呵,当然你也可以作出...

    java 混淆工具,不可逆 jocky 也许是最好的了

    下面是经Jocky混淆过的类文件,通过Jad反编译后产生的源文件: public class SimpleBean implements Serializable { private String _$2; private List _$1; public SimpleBean() { _$2 = "myname"; this; ...

    delphi 开发经验技巧宝典源码

    0138 在指定路径中搜索指定的文件 89 0139 使用FileExists函数判断指定文件是否存在 90 0140 使用FileGetAttr函数返回文件的属性 90 0141 使用FileGetDate函数返回文件的修改日期 90 0142 使用FileWrite...

    delphi 开发经验技巧宝典源码06

    0138 在指定路径中搜索指定的文件 89 0139 使用FileExists函数判断指定文件是否存在 90 0140 使用FileGetAttr函数返回文件的属性 90 0141 使用FileGetDate函数返回文件的修改日期 90 0142 使用FileWrite...

    精通Windows.API-函数、接口、编程实例.pdf

    12.2.2 为文件指定默认打开程序 341 12.2.3 定制文件类型的图标 342 12.3 Shell扩展 343 12.3.1 对象及概念 343 12.3.2 CLSID,处理例程的GUID 344 12.3.3 注册Shell扩展 345 12.3.4 COM程序开发基础 ...

Global site tag (gtag.js) - Google Analytics