package com.it_jaros.networkScanner; import java.util.List; import java.util.stream.Collectors; public class App { public static void main(String[] args) { CliParser cliParser = new CliParser(); try { ScanOptions options = cliParser.parseArgs(args); Scanner scanner = new Scanner(options.openSocketLimit(), options.timeoutInMillis(), options.delayInMillis()); printResults(scanner.scan(options)); } catch (IllegalArgumentException e) { System.out.println(e.getMessage()); cliParser.usageAndExit(); } catch (Exception e) { System.err.println("Something went wrong"); } } public static void printResults(List results) { results.forEach(r -> printResult(r)); } private static void printResult(ScanResult result) { String ports = result.openPorts().stream().map(String::valueOf).collect(Collectors.joining(",")); String output = "[" + result.target() + "]:"; if (ports.equals("")) { output = output + "No open ports found"; } else { output = output + ports; } System.out.print(output + "\n"); } }