import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.io.File;
import java.io.*;
/**
*
* <p>Title: 将一个目录下的所有文件复制到另一个目录下</p>
*
* <p>Description: 将一个目录下的所有文件复制到另一个目录下 </p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class TestFile
{
public TestFile()
{
}
public static void main(String[] args)
{
//在当前目录下创建一个FileTest目录
File file = new File(".//FileTest");
file.mkdir();
//调用方法复制文件
getFileList(".//classes", ".//FileTest");
}
/**
* 执行复制操作
* @param nameFile String 源目录
* @param nameDirectory String 目标目录
*/
private static void getFileList(String nameFile, String nameDirectory)
{
File file1 = null;
File file5 = null;
FileInputStream fileInput = null;
DataInputStream dateInput = null;
File file4 = null;
FileOutputStream fileOutput = null;
DataOutputStream dateOutput = null;
try
{
//创建源文件对象
file1 = new File(nameFile);
//获得文件列表
File[] file2 = file1.listFiles();
for (int i = 0; i < file2.length; i++)
{
//判断是否为目录
if (file2[i].isDirectory())
{
//创建目录
File file3 = new File(nameDirectory + "//" +
file2[i].getName());
file3.mkdir();
//继续执行文件复制
getFileList(nameFile + "//" + file2[i].getName(),
nameDirectory + "//" + file2[i].getName());
}
else
{
//创建源目录下的文件对象
file5 = new File(file2[i].toString());
fileInput = new FileInputStream(file5);
dateInput = new DataInputStream(fileInput);
//创建目标目录下的文件对象
file4 = new File(nameDirectory + "//" +
file2[i].getName());
fileOutput = new FileOutputStream(file4);
dateOutput = new DataOutputStream(
fileOutput);
int temp = 0;
while ((temp = dateInput.read()) != -1)
{
//将源目录下的文件内容复制到目标目录下的文件中
dateOutput.write(temp);
}
System.out.println("[" + nameDirectory + "//" +
file2[i].getName() + "]");
}
}
}
catch (IOException ex)
{
System.out.println(ex.toString());
}
finally
{
try
{
dateInput.close();
dateOutput.close();
}
catch (IOException ex1)
{
System.out.println(ex1.toString());
}
}
}
}