52 lines
2.3 KiB
Java
52 lines
2.3 KiB
Java
import java.io.*;
|
||
import java.nio.file.*;
|
||
import java.util.*;
|
||
|
||
public class SecondService {
|
||
// 2. Ищет наименьшее число из файла /var/result/data.txt и сохраняет его третью степень в /var/result/result.txt.
|
||
|
||
public static void main(String[] args) {
|
||
Path sourceFile = Paths.get("/var/result/data.txt");
|
||
Path destinationDir = Paths.get("/var/result");
|
||
Path destinationFile = destinationDir.resolve("result.txt");
|
||
|
||
try {
|
||
// создание /var/result, если не существует
|
||
if (!Files.exists(destinationDir)) {
|
||
Files.createDirectories(destinationDir);
|
||
}
|
||
|
||
// читаем числа из файла и находим наименьшее
|
||
List<Integer> numbers = new ArrayList<>();
|
||
try (BufferedReader reader = Files.newBufferedReader(sourceFile)) {
|
||
String line;
|
||
while ((line = reader.readLine()) != null) {
|
||
try {
|
||
numbers.add(Integer.parseInt(line.trim()));
|
||
} catch (NumberFormatException e) {
|
||
System.out.println("Некорректная строка: " + line);
|
||
}
|
||
}
|
||
}
|
||
|
||
if (!numbers.isEmpty()) {
|
||
// находим наименьшее число и его третью степень
|
||
int minNumber = Collections.min(numbers);
|
||
int minNumberCubed = (int) Math.pow(minNumber, 3);
|
||
|
||
// записываем результат в /var/result/result.txt
|
||
try (BufferedWriter writer = Files.newBufferedWriter(destinationFile)) {
|
||
writer.write(String.valueOf(minNumberCubed));
|
||
System.out.println("Третья степень наименьшего числа - " + minNumber + " (" + minNumberCubed +
|
||
") сохранена в " + destinationFile);
|
||
}
|
||
} else {
|
||
System.out.println("Файл " + sourceFile + " пуст или не содержит чисел.");
|
||
}
|
||
|
||
} catch (IOException e) {
|
||
e.printStackTrace();
|
||
}
|
||
}
|
||
}
|