diff options
Diffstat (limited to 'src/main/java/com/it_jaros/network_scanner/ProgressBar.java')
| -rw-r--r-- | src/main/java/com/it_jaros/network_scanner/ProgressBar.java | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/main/java/com/it_jaros/network_scanner/ProgressBar.java b/src/main/java/com/it_jaros/network_scanner/ProgressBar.java index 8126625..f9a5ed5 100644 --- a/src/main/java/com/it_jaros/network_scanner/ProgressBar.java +++ b/src/main/java/com/it_jaros/network_scanner/ProgressBar.java @@ -10,6 +10,8 @@ import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.ReentrantLock; +import java.util.regex.Matcher; +import java.util.regex.Pattern; public class ProgressBar { @@ -21,18 +23,23 @@ public class ProgressBar { private static int getColumnWidth() { try { - Process process = new ProcessBuilder("sh", "-c", "stty size < /dev/tty | cut -d' ' -f2").start(); + Process process = new ProcessBuilder("sh", "-c", "stty size < /dev/tty").start(); try (BufferedReader reader = new BufferedReader( new InputStreamReader(process.getInputStream()))) { String line = reader.readLine(); if (line != null && !line.isBlank()) { - return Integer.parseInt(line.trim()); + Matcher matcher = Pattern.compile("^\\d+\\s+(\\d+)").matcher(line.trim()); + if (matcher.matches()) { + return Integer.parseInt(matcher.group(1)); + } } } - } catch (Exception ignored) {} + } catch (Exception ignored) { + // does not matter why it did not work + } - return 80; + return 120; } public void start() { |
