1 22 23 package org.meshcms.util; 24 25 import java.io.*; 26 27 public class DirectoryCopier extends DirectoryParser { 28 private File newDir; 29 private boolean overwriteDir; 30 private boolean overwriteFiles; 31 private boolean setLastModified; 32 private boolean result; 33 34 public DirectoryCopier(File dir, File newDir, boolean overwriteDir, 35 boolean overwriteFiles, boolean setLastModified) { 36 setInitialDir(dir); 37 this.newDir = newDir; 38 this.overwriteDir = overwriteDir; 39 this.overwriteFiles = overwriteFiles; 40 this.setLastModified = setLastModified; 41 setRecursive(true); 42 setProcessStartDir(true); 43 result = true; 44 } 45 46 protected boolean preProcess() { 47 return overwriteDir || !newDir.exists(); 48 } 49 50 protected boolean preProcessDirectory(File file, Path path) { 51 File dir = path.getFile(newDir); 52 dir.mkdirs(); 53 54 if (!dir.isDirectory()) { 55 return result = false; 56 } 57 58 return true; 59 } 60 61 protected void processFile(File file, Path path) { 62 try { 63 Utils.copyFile(file, path.getFile(newDir), overwriteFiles, 64 setLastModified); 65 } catch (IOException ex) { 66 result = false; 67 ex.printStackTrace(); 68 } 69 } 70 71 public boolean getResult() { 72 return result; 73 } 74 } 75 | Popular Tags |