Created
May 22, 2025 07:03
-
-
Save untainsYD/51012e79a69fe7d93abd6ac1e398827d to your computer and use it in GitHub Desktop.
Laboratory 5, Task 3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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