From f6c2b8a5aaf34821f5600fc05c7619796edbe980 Mon Sep 17 00:00:00 2001 From: Knyaz-v Date: Wed, 19 Nov 2025 02:10:07 +0500 Subject: [PATCH] =?UTF-8?q?=D0=9A=D0=BD=D1=8F=D0=B7=D0=B5=D0=B2=D0=B0=20?= =?UTF-8?q?=D0=92=D0=B0=D0=BB=D0=B5=D1=80=D0=B8=D1=8F=20=D0=9F=D1=80=D0=98?= =?UTF-8?q?-201=208.1-8.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- task01/src/com/example/task01/Task01Main.java | 33 ++++++++++++++++--- task02/src/com/example/task02/Task02Main.java | 12 ++++--- task03/src/com/example/task03/SampleData.java | 3 +- task03/src/com/example/task03/Task03Main.java | 14 +++++--- 4 files changed, 48 insertions(+), 14 deletions(-) diff --git a/task01/src/com/example/task01/Task01Main.java b/task01/src/com/example/task01/Task01Main.java index 5dfc11b..381ec9c 100644 --- a/task01/src/com/example/task01/Task01Main.java +++ b/task01/src/com/example/task01/Task01Main.java @@ -1,20 +1,45 @@ package com.example.task01; +import java.io.BufferedReader; import java.io.File; import java.io.IOException; +import java.io.InputStreamReader; +import java.util.Optional; public class Task01Main { public static void main(String[] args) throws IOException, InterruptedException { //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат // например вот так: - /* - System.out.println(extractSoundName(new File("task01/src/main/resources/3727.mp3"))); - */ + System.out.println(extractSoundName( + new File("task01/src/main/resources/3727.mp3"))); } public static String extractSoundName(File file) throws IOException, InterruptedException { // your implementation here - return "sound name"; + + ProcessBuilder processBuilder = new ProcessBuilder( + "ffprobe", "-v", + "error", "-of", + "flat", "-show_format", + file.getAbsolutePath() + ); + + processBuilder.redirectOutput(ProcessBuilder.Redirect.PIPE); + + Process process = processBuilder.start(); + + BufferedReader reader = new BufferedReader( + new InputStreamReader(process.getInputStream())); + + String line; + + while ((line = reader.readLine()) != null) { + if (line.contains("title")) { + return line.split("=")[1].replace("\"", ""); + } + } + + return null; } } diff --git a/task02/src/com/example/task02/Task02Main.java b/task02/src/com/example/task02/Task02Main.java index 750f7ba..186f25f 100644 --- a/task02/src/com/example/task02/Task02Main.java +++ b/task02/src/com/example/task02/Task02Main.java @@ -1,23 +1,27 @@ package com.example.task02; import java.io.IOException; +import java.nio.file.Files; import java.nio.file.Path; +import java.nio.file.Paths; import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; public class Task02Main { public static void main(String[] args) throws IOException, InterruptedException { //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат // например вот так: - /* System.out.println(listFiles(Paths.get("task02/src/main/resources/"))); - */ - } public static List listFiles(Path rootDir) throws IOException, InterruptedException { // your implementation here + List pathStream = Files.walk(rootDir) + .filter(path -> Files.isRegularFile(path)) + .collect(Collectors.toList()); - return null; + return pathStream; } } diff --git a/task03/src/com/example/task03/SampleData.java b/task03/src/com/example/task03/SampleData.java index 0654af5..70bbc0b 100644 --- a/task03/src/com/example/task03/SampleData.java +++ b/task03/src/com/example/task03/SampleData.java @@ -1,9 +1,10 @@ package com.example.task03; +import java.io.Serializable; import java.util.Date; import java.util.Objects; -public class SampleData { +public class SampleData implements Serializable { static final long serialVersionUID = 132706691457162967L; String name; diff --git a/task03/src/com/example/task03/Task03Main.java b/task03/src/com/example/task03/Task03Main.java index 740fff1..abb4a98 100644 --- a/task03/src/com/example/task03/Task03Main.java +++ b/task03/src/com/example/task03/Task03Main.java @@ -1,21 +1,25 @@ package com.example.task03; +import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; +import java.io.ObjectInputStream; +import java.nio.file.Files; public class Task03Main { public static void main(String[] args) throws IOException, ClassNotFoundException { //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат // например вот так: - /* - System.out.println(deserialize(new FileInputStream("task03/src/main/resources/example1.bin"))); - */ - + System.out.println(deserialize( + new FileInputStream("task03/src/main/resources/example1.bin"))); } public static SampleData deserialize(InputStream inputStream) throws IOException, ClassNotFoundException { // your implementation here - return null; + SampleData deserializedSampleData; + ObjectInputStream ois = new ObjectInputStream(inputStream); + deserializedSampleData = (SampleData) ois.readObject(); + return deserializedSampleData; } }