Copy a multi-layer folder in drive C to drive D, with multiple layers in Drive
Class CopyWenJianJia {public static void main (String [] args) throws Exception {// source folder String yuan = "C: \ nimeizide"; // destination String mudi = "D: \ nimeizide "; // create the target folder (new File (mudi )). mkdirs (); // obtain the current File or directory File [] files = (new File (yuan) in the source folder )). listFiles (); for (File file: files) {if (file. isDirectory () {String yuanDir = yuan + "\" + file. getName (); String mudiDir = mudi + "\" + file. getName (); // copy Directory copyDir (yuanDir, mudiDir);} else {copyFile (file, new File (mudi + "\" + file. getName () ;}}// copy the public static void copyDir (String yuanDir, String mudiDir) throws Exception {(new File (mudiDir) folder )). mkdirs (); File [] files = (new File (yuanDir )). listFiles (); for (File file: files) {if (file. isFile () {File yuanFile = file; // The source File mudiFile = new File (mudiDir ). getAbsolutePath () +" \ "+ File. getName (); copyFile (yuanFile, mudiFile);} else {String yuanJia = yuanDir + "\" + file. getName (); String mudiJia = mudiDir + "\" + file. getName (); copyDir (yuanJia, mudiJia) ;}}// copy the public static void copyFile (File yuanFile, File mudiFile) throws Exception {BufferedInputStream buis = new BufferedInputStream (new FileInputStream (yuanFile. getAbsoluteFile (); BufferedOutputStream Buos = new BufferedOutputStream (new FileOutputStream (mudiFile. getAbsoluteFile (); byte [] buf = new byte [1024]; int len; while (len = buis. read (buf ))! =-1) {buos. write (buf, 0, len); buos. flush ();} buis. close (); buos. close ();}}