import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class FileBackup {
public static void backupFiles(String sourceDir, String destDir) {
File source = new File(sourceDir);
File dest = new File(destDir);
if (!source.exists()) {
System.err.println("Source directory does not exist: " + sourceDir);
return;
}
if (!dest.exists()) {
if (!dest.mkdirs()) {
System.err.println("Could not create destination directory: " + destDir);
return;
}
}
List<File> files = new ArrayList<>();
for (File file : source.listFiles()) {
files.add(file);
}
for (File file : files) {
copyFileSynchronously(file, dest);
}
}
private static void copyFileSynchronously(File source, File dest) {
try {
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(dest));
oos.write(source);
oos.close();
} catch (Exception e) {
System.err.println("Error copying file " + source.getAbsolutePath() + ": " + e.getMessage());
return;
}
}
public static void main(String[] args) {
String sourceDirectory = "source_files"; // Replace with your source directory
String destinationDirectory = "backup_files"; // Replace with your destination directory
// Create the source directory if it doesn't exist
File source = new File(sourceDirectory);
if (!source.exists()) {
source.mkdirs();
// Create some dummy files for testing
File file1 = new File(source, "file1.txt");
file1.createNewFile();
File file2 = new File(source, "file2.txt");
file2.createNewFile();
}
backupFiles(sourceDirectory, destinationDirectory);
}
}
Add your comment