java 目录数据备份代码
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 voidcopyFile(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;while (fis.read(buffer)!= -1) {fos.write(buffer, 0, buffer.length);}fis.close();fos.close();} catch (Exception e) {e.printStackTrace();}}}
页:
[1]