import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class ApiResponseBackup {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("API Response Backup Tool");
System.out.println("--------------------------");
String apiResponseFilePath = getApiResponseFilePath(scanner);
String backupDirectory = getBackupDirectory(scanner);
if (apiResponseFilePath == null || backupDirectory == null) {
System.exit(1);
}
backupApiResponses(apiResponseFilePath, backupDirectory);
scanner.close();
}
private static String getApiResponseFilePath(Scanner scanner) {
System.out.print("Enter the path to the API response file: ");
return scanner.nextLine();
}
private static String getBackupDirectory(Scanner scanner) {
System.out.print("Enter the backup directory: ");
return scanner.nextLine();
}
private static void backupApiResponses(String apiResponseFilePath, String backupDirectory) {
try {
// Ensure backup directory exists
if (!new java.io.File(backupDirectory).exists()) {
new java.io.File(backupDirectory).mkdirs();
}
// Extract filename from path
String filename = new java.io.File(apiResponseFilePath).getName();
String fileNameWithoutExtension = filename.substring(0, filename.lastIndexOf('.'));
// Create backup filename with timestamp
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd_HHmmss");
String timestamp = LocalDateTime.now().format(formatter);
String backupFilename = fileNameWithoutExtension + "_" + timestamp + "." + filename.substring(filename.lastIndexOf('.')) ;
String backupFilePath = backupDirectory + "/" + backupFilename;
// Copy the API response to the backup file
try (BufferedWriter writer = new BufferedWriter(new FileWriter(backupFilePath))) {
try (BufferedReader reader = new BufferedReader(new FileReader(apiResponseFilePath))) {
String line;
while ((line = reader.readLine()) != null) {
writer.write(line);
writer.newLine();
}
}
} catch (IOException e) {
System.err.println("Error during backup: " + e.getMessage());
return;
}
System.out.println("Backup created successfully at: " + backupFilePath);
} catch (Exception e) {
System.err.println("An error occurred: " + e.getMessage());
}
}
}
Add your comment