title: Copy files from one directory to another and append new files with timestamp instead of overwriting in Java
body: <p>I want to copy files from source directory to destination. If the file already exists in the destination directory, then append the new file to be copied with its timestamp so that there is no overwrite. How do I check for duplicates and append timestamp to the new file name? Please help!</p>
  
  <pre><code>public static void copyFolder(File src, File dest)
      throws IOException{
          //list all the directory contents
          String files[] = src.list();
          for (String file : files) {
             //construct the src and dest file structure
             File srcFile = new File(src, file);
             File destFile = new File(dest, file);
             //recursive copy
             copyFolder(srcFile,destFile);
          }
      }else{
          //if file, then copy it
          //Use bytes stream to support all file types
          InputStream in = new FileInputStream(src);
              OutputStream out = new FileOutputStream(dest);
              byte[] buffer = new byte[1024];
          int length;
              //copy the file content in bytes
              while ((length = in.read(buffer)) &gt; 0){
                 out.write(buffer, 0, length);
              }
  
              in.close();
              out.close();
              System.out.println("File copied from " + src + " to " + dest);
      }
  }
  </code></pre>