1. import java.io.File;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. public class FileBackup {
  5. public static void backupFiles(String sourceDir, String destDir) {
  6. File source = new File(sourceDir);
  7. File dest = new File(destDir);
  8. if (!source.exists()) {
  9. System.err.println("Source directory does not exist: " + sourceDir);
  10. return;
  11. }
  12. if (!dest.exists()) {
  13. if (!dest.mkdirs()) {
  14. System.err.println("Could not create destination directory: " + destDir);
  15. return;
  16. }
  17. }
  18. List<File> files = new ArrayList<>();
  19. for (File file : source.listFiles()) {
  20. files.add(file);
  21. }
  22. for (File file : files) {
  23. copyFileSynchronously(file, dest);
  24. }
  25. }
  26. private static void copyFileSynchronously(File source, File dest) {
  27. try {
  28. ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(dest));
  29. oos.write(source);
  30. oos.close();
  31. } catch (Exception e) {
  32. System.err.println("Error copying file " + source.getAbsolutePath() + ": " + e.getMessage());
  33. return;
  34. }
  35. }
  36. public static void main(String[] args) {
  37. String sourceDirectory = "source_files"; // Replace with your source directory
  38. String destinationDirectory = "backup_files"; // Replace with your destination directory
  39. // Create the source directory if it doesn't exist
  40. File source = new File(sourceDirectory);
  41. if (!source.exists()) {
  42. source.mkdirs();
  43. // Create some dummy files for testing
  44. File file1 = new File(source, "file1.txt");
  45. file1.createNewFile();
  46. File file2 = new File(source, "file2.txt");
  47. file2.createNewFile();
  48. }
  49. backupFiles(sourceDirectory, destinationDirectory);
  50. }
  51. }

Add your comment