diff --git a/task01/src/com/example/task01/Task01Main.java b/task01/src/com/example/task01/Task01Main.java index 5dfc11b..2bc82a1 100644 --- a/task01/src/com/example/task01/Task01Main.java +++ b/task01/src/com/example/task01/Task01Main.java @@ -1,20 +1,34 @@ package com.example.task01; +import java.io.BufferedReader; import java.io.File; import java.io.IOException; +import java.io.InputStreamReader; public class Task01Main { - public static void main(String[] args) throws IOException, InterruptedException { - //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* + //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат + // например вот так: + + public static void main(String[] args) throws IOException { 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"; + + public static String extractSoundName(File file) throws IOException { + ProcessBuilder processBuilder = new ProcessBuilder(); + processBuilder.command("cmd.exe", "/c", "ffprobe -v error -of flat -show_format \"" + file.getAbsolutePath() + "\""); + processBuilder.directory(new File("C:\\ffmpeg\\bin")); + Process process = processBuilder.start(); + try (BufferedReader reader = new BufferedReader( + new InputStreamReader(process.getInputStream()))) { + String line; + while ((line = reader.readLine()) != null) { + if (line.contains("title")) return line.split("\"")[1]; + } + } + return null; } + } diff --git a/task02/src/com/example/task02/Task02Main.java b/task02/src/com/example/task02/Task02Main.java index 750f7ba..c2cdd6c 100644 --- a/task02/src/com/example/task02/Task02Main.java +++ b/task02/src/com/example/task02/Task02Main.java @@ -3,21 +3,26 @@ import java.io.IOException; import java.nio.file.Path; import java.util.List; +import java.nio.file.Paths; +import java.nio.file.Files; +import java.util.stream.Collectors; +import java.util.stream.Stream; public class Task02Main { - public static void main(String[] args) throws IOException, InterruptedException { + public static void main(String[] args) throws IOException { //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат // например вот так: - /* + System.out.println(listFiles(Paths.get("task02/src/main/resources/"))); - */ - } - public static List listFiles(Path rootDir) throws IOException, InterruptedException { - // your implementation here + } - return null; + public static List listFiles(Path rootDir) throws IOException { + try (Stream files = Files.walk(rootDir)) { + return files.filter(Files::isRegularFile) + .collect(Collectors.toList()); + } } } diff --git a/task03/src/com/example/task03/SampleData.java b/task03/src/com/example/task03/SampleData.java index 0654af5..a064ee2 100644 --- a/task03/src/com/example/task03/SampleData.java +++ b/task03/src/com/example/task03/SampleData.java @@ -2,9 +2,10 @@ import java.util.Date; import java.util.Objects; +import java.io.Serializable; -public class SampleData { - static final long serialVersionUID = 132706691457162967L; +public class SampleData implements Serializable{ + private static final long serialVersionUID = 132706691457162967L; String name; int value; diff --git a/task03/src/com/example/task03/Task03Main.java b/task03/src/com/example/task03/Task03Main.java index 740fff1..bd6508c 100644 --- a/task03/src/com/example/task03/Task03Main.java +++ b/task03/src/com/example/task03/Task03Main.java @@ -2,20 +2,23 @@ import java.io.IOException; import java.io.InputStream; +import java.io.FileInputStream; +import java.io.ObjectInputStream; 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; + try (ObjectInputStream ois = new ObjectInputStream(inputStream)) { + return (SampleData) ois.readObject(); + } } }