Skip to content

Instantly share code, notes, and snippets.

@untainsYD
Created May 22, 2025 07:03
Show Gist options
  • Save untainsYD/51012e79a69fe7d93abd6ac1e398827d to your computer and use it in GitHub Desktop.
Save untainsYD/51012e79a69fe7d93abd6ac1e398827d to your computer and use it in GitHub Desktop.
Laboratory 5, Task 3
package lab5;
import lab5.archive.ArchiveWriter;
import lab5.archive.AcademicGroup;
import java.io.File;
import java.io.IOException;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
/**
* Демонстрація запису академічних груп у ZIP-архів.
*/
public class Task3Writer {
private static final String OUTPUT_DIR = "results/" +
LocalDateTime.now().format(
DateTimeFormatter.ofPattern("yyyy-MM-dd_HH-mm-ss")
) + "/";
public static void main(String[] args) {
// Створення папки results з timestamp, якщо не існує
File resultsDir = new File(OUTPUT_DIR);
if (!resultsDir.exists()) {
resultsDir.mkdirs();
System.out.println("Створено папку для результатів: " + OUTPUT_DIR);
}
System.out.println("====== Лабораторна робота №5 - Завдання 3 (Запис) ======");
System.out.println("Створення та запис академічних груп у ZIP-архів");
System.out.println("Результати будуть збережені у: " + OUTPUT_DIR + "\n");
try {
// Створення тестових даних
System.out.println("=== Створення тестових даних ===");
AcademicGroup[] groups = ArchiveWriter.createTestData();
// Виведення інформації про створені групи
System.out.println("Створено " + groups.length + " академічних груп:");
for (int i = 0; i < groups.length; i++) {
AcademicGroup group = groups[i];
System.out.println((i + 1) + ". " + group);
System.out.println(" Студенти:");
for (lab5.archive.Student student : group.getActiveStudents()) {
System.out.println(" - " + student);
}
System.out.println();
}
// Запис у архів
String archiveFileName = OUTPUT_DIR + "academic_groups.zip";
System.out.println("=== Запис у архів ===");
ArchiveWriter.writeGroupsToArchive(groups, archiveFileName);
System.out.println("\n====== Завершення запису ======");
System.out.println("Архів створено: " + archiveFileName);
// Виведення розміру створеного файлу
File archiveFile = new File(archiveFileName);
if (archiveFile.exists()) {
System.out.println("Розмір архіву: " + archiveFile.length() + " байт");
}
} catch (IOException e) {
System.err.println("Помилка роботи з файлами: " + e.getMessage());
e.printStackTrace();
} catch (Exception e) {
System.err.println("Загальна помилка: " + e.getMessage());
e.printStackTrace();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment