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行业中,我们经常需要批量处理文件,例如复制、移动或重命名大量文件,尤其当这些文件满足特定条件(如类型、...
通常,工具类会包含一个方法,接收`HttpServletRequest`,解析请求中的`Part`对象,然后将文件保存到服务器的指定位置。例如: ```java public void handleFileUpload(HttpServletRequest request) { for (Part ...
在C#编程中,复制文件到指定目录是一项常见的任务,特别是在构建软件或处理文件系统操作时。本项目提供了一个简洁的源代码示例,旨在简化这个过程,使其更易于理解和扩展。下面,我们将深入探讨如何在C#中实现这一...
本示例中,我们关注的是"指定文件批量复制"的操作,这通常涉及到自动化脚本的编写,特别是使用编程语言如Python来实现。Python因其简洁易读的语法和强大的文件操作能力,成为这类任务的理想选择。 首先,我们需要...
这类工具通常比操作系统内置的文件移动功能更为优化,提供了更快的速度和更高的效率,尤其在处理大型文件时优势明显。 描述中提到的“特别适合转移很大的文件,速度很快”,这表明这个工具可能采用了优化的文件复制...
"U_Copy U盘文件偷取工具" 是一个特定类型的软件,它的主要功能是能够在未经他人许可的情况下,悄无声息地复制或移动U盘中的文件到指定的位置。这种工具通常涉及到计算机安全和隐私问题,因为它可能被用于非法获取...
下面将详细介绍一些Java开发中常见的工具类及其功能。 1. **字符串处理工具类(StringUtil)**:此类通常包含处理字符串的各种方法,如字符串拼接、格式化、去除空白字符、判断是否为空、分割字符串等。例如`isEmpty...
- `File.Copy`: 复制文件到指定位置,可选择是否覆盖已存在的文件。 - `File.Move`: 移动文件到新的位置。 `Directory`类则专注于目录的操作,包括创建、删除、遍历目录等: 1. **创建/删除目录**: - `...
本篇将详细探讨“读文件并写入到指定文件指定位置”的知识点。 首先,要实现这个功能,你需要对Java的I/O流有深入的理解。Java提供了多种类型的输入流(InputStream)和输出流(OutputStream)用于读写文件。在处理...
标题 "批量将目录下所有文件移动到指定目录源码" 提供了我们即将讨论的核心主题:一种自动化批量处理文件移动的程序。这个程序是用C#编程语言编写的,可以帮助用户快速有效地管理大量文件,避免手动操作带来的繁琐与...
2. **copyDirectory()**: 类可能会包含一个`copyDir($source, $destination)`方法,用于递归地复制整个目录及其内容到指定位置。 3. **moveDirectory()**: 类中的`moveDir($source, $destination)`方法可以用来移动...
这个名为"标准字节流拷贝纯文本文件工具类"的代码库可能包含了一些辅助方法,旨在简化使用这些类来复制纯文本文件的过程。在不同的JDK版本中,字节流的拷贝方法可能存在一些差异。 在JDK1.6及其之前的版本中,字节...
标题“Ucopy后台复制U盘中的指定格式文件”所涉及的知识点主要集中在文件操作、后台处理和U盘安全。在IT行业中,这类功能通常用于数据迁移、备份或特定文件筛选等场景。 首先,我们需要理解“后台复制”的概念。...
综上所述,实现“指定文件备份到某个目录下”的功能,需要结合文件和目录操作、定时任务调度以及Winform的用户交互,借助.NET 6提供的强大工具和类库,我们可以构建出稳定、易用的数据备份解决方案。在实际开发过程...
Java语言在设计时就考虑到了代码的复用性和可维护性,因此提供了许多内置的工具类,这些工具类分布在不同的包下,极大地丰富了Java的功能并简化了开发工作。本篇将详细介绍一些Java中常用的工具类及其应用。 一、`...
接着,它获取源目录中的所有文件,并使用`CopyTo`方法将每个文件复制到目标路径。同时,函数还会遍历源目录的所有子目录,对每个子目录递归调用自身,实现整个文件结构的复制。 在WPF应用中,你可以将这个函数封装...
在Delphi编程环境中,文件和目录操作是常见的任务,尤其对于开发系统工具、文件管理软件或是需要处理大量数据的应用程序来说。本示例将详细探讨如何在Delphi中执行文件和目录的操作,以帮助开发者更好地理解和应用...
为了高效地与HDFS交互,Java API 提供了一套丰富的工具和类库,使得开发者能够方便地进行文件的读写、上传、下载、遍历、查找、拷贝以及管理HDFS上的文件和目录。以下将详细讲解如何使用Java API 操作HDFS。 ### 一...
在IT领域,尤其是在系统管理和自动化任务执行中,有时我们需要实时监控某个目录下的文件变化,并在文件发生变动时执行特定操作,如复制文件到其他位置。这个场景可以通过编程实现,常用的编程语言如Python、Java或C#...
这段代码会将指定的源文件复制到目标位置,并在目标文件已经存在时询问用户是否覆盖。`true` 参数表示允许覆盖,如果不想覆盖,可以传入 `false`。 除了 `TFile.Copy` 方法,还可以使用 `TStream` 对象来实现更复杂...