public void bakFile(String sPath,String tPath)
{
String sourcePath=sPath;
String targetPath=tPath;
File sourceDic=new File(sourcePath);
File targetDic=new File(targetPath);
System.out.println("bakFile sourceDic= "+sourceDic.getAbsolutePath());
System.out.println("bakFile targetDic= "+targetDic.getAbsolutePath());
if(!sourceDic.exists())
{
System.out.println("源路径指向的文件夹不存在!");
return ;
}
else
{
if(!targetDic.exists())
{
if(sourceDic.isDirectory())
{
targetDic.mkdir();
}
}
copyDic(sourceDic,targetDic);
}
}
public void copyDic(File sDic,File tDic)
{
File sourceDic=sDic;
File targetDic=tDic;
if(sourceDic!=null&&sourceDic.exists())
{
if(sourceDic.isDirectory())
{
File fileArray[]=sourceDic.listFiles();
for(File sFile:fileArray)
{
if(sFile!=null)
{
if(sFile.isDirectory())
{
String sDicName=sFile.getName();
String tDicName=targetDic.getAbsolutePath()+File.separator+sDicName;
File tDicFile=new File(tDicName);
if(!tDicFile.exists())
{
tDicFile.mkdir();
}
copyDic(sFile,tDicFile);
}
else if(sFile.isFile())
{
File targetFile=new File(targetDic.getAbsoluteFile()+File.separator+sFile.getName());
copyFile(sFile,targetFile);
}
}
}
}
}
}
public void copyFile(File sFile,File tFile)
{
if(sFile!=null&&sFile.isFile()&&sFile.exists())
{
String tFilePath=tFile.getAbsolutePath();
String sFilePath=sFile.getAbsolutePath();
if(tFile.exists())
{
String bakPath=tFile.getAbsolutePath()+".bak";
tFile.renameTo(new File(bakPath));
}
FileInputStream fis = null;
FileOutputStream fos = null;
try {
File targetFile=new File(tFilePath);
targetFile.createNewFile();
fis = new FileInputStream(sFilePath);
fos = new FileOutputStream(tFilePath);
byte[] buffer = new byte[10240];
while (fis.read(buffer)!= -1) {
fos.write(buffer, 0, buffer.length);
}
fis.close();
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}