Czas na rozwiązanie kolejnego wyzwania. Ten program także można było rozwiązać na wiele sposobów, wykorzystując różne możliwości języka Java. Poniżej jedno z możliwych rozwiązań:
package pl.kodolamacz.io;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;
import java.text.MessageFormat;
import java.util.List;
import java.util.Scanner;
public class Exercise {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Proszę podać nazwę pliku wejściowego: ");
String userSourceFilePath = scanner.nextLine();
System.out.println("Proszę podać nazwę pliku wynikowego: ");
String userResultFilePath = scanner.nextLine();
Path sourcePath = Paths.get(userSourceFilePath);
Path resultPath = Paths.get(userResultFilePath);
try {
if (Files.exists(sourcePath)) {
List<String> lines = Files.readAllLines(sourcePath);
Integer size = lines.size();
System.out.println(MessageFormat.format("W pliku jest {0} linii.", size));
Files.write(resultPath, size.toString().getBytes(), StandardOpenOption.CREATE); // flaga CREATE tworzy plik jeśli nie istniał
}
} catch (Exception e) {
System.out.println("Błąd dostępu do pliku: " + userSourceFilePath);
}
scanner.close();
}
}