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();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|