diff --git a/task01/src/com/example/task01/Task01Main.java b/task01/src/com/example/task01/Task01Main.java index 5dfc11b..a09ce8a 100644 --- a/task01/src/com/example/task01/Task01Main.java +++ b/task01/src/com/example/task01/Task01Main.java @@ -1,20 +1,40 @@ package com.example.task01; +import java.io.BufferedReader; import java.io.File; import java.io.IOException; +import java.io.InputStreamReader; +import java.util.stream.Stream; public class Task01Main { public static void main(String[] args) throws IOException, InterruptedException { //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат // например вот так: - /* 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 pb = new ProcessBuilder(); + System.out.println(file.getAbsolutePath()); + pb.command("C:\\Users\\savil\\OneDrive\\Рабочий стол\\ffmpeg-8.0.1-essentials_build\\bin\\ffprobe.exe", + "-v", "error", + "-of", "flat", + "-show_format" + , file.getAbsolutePath()) + .redirectOutput(ProcessBuilder.Redirect.PIPE); + + String res = ""; + Process process = pb.start(); + try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()))) { + String line; + String title = "format.tags.title="; + while ((line = reader.readLine()) != null) { + if (line.startsWith(title)) { + res = line.substring(title.length()).replaceAll("\"", ""); + } + } + } + return res; } } diff --git a/task02/src/com/example/task02/Task02Main.java b/task02/src/com/example/task02/Task02Main.java index 750f7ba..65163e9 100644 --- a/task02/src/com/example/task02/Task02Main.java +++ b/task02/src/com/example/task02/Task02Main.java @@ -1,7 +1,11 @@ package com.example.task02; import java.io.IOException; +import java.nio.file.DirectoryStream; +import java.nio.file.Files; import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; import java.util.List; public class Task02Main { @@ -9,15 +13,22 @@ 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 - - return null; + if (!(Files.exists(rootDir) && Files.isDirectory(rootDir))) { throw new IOException("Такой директории не существует"); } + ArrayList files = new ArrayList<>(); + try (DirectoryStream dirStream = Files.newDirectoryStream(rootDir)) { + for (Path path : dirStream) { + if (Files.isDirectory(path)) { + files.addAll(listFiles(path)); + } else { + files.add(path); + } + } + } + return files; } } 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..31326b9 100644 --- a/task03/src/com/example/task03/Task03Main.java +++ b/task03/src/com/example/task03/Task03Main.java @@ -1,21 +1,21 @@ package com.example.task03; -import java.io.IOException; -import java.io.InputStream; +import java.io.*; public class Task03Main { public static void main(String[] args) throws IOException, ClassNotFoundException { //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат // например вот так: - /* 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 sd; + try (ObjectInputStream ois = new ObjectInputStream(inputStream)) { + sd = (SampleData) ois.readObject(); + } + return sd; } }