package nu.redpois0n.oslib; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class Utils { public static List<String> readProcess(String[] args) throws Exception { List<String> raw = new ArrayList<>(); Process p = Runtime.getRuntime().exec(args); BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream())); String line; while ((line = reader.readLine()) != null) { raw.add(line); } reader.close(); return raw; } public static Map<String, String> mapFile(File file, String delimiter) throws Exception { Map<String, String> map = new HashMap<>(); List<String> lines = readFile(file); for (String line : lines) { String[] split = line.split(delimiter); String key = split[0].trim(); String value = split[1].trim(); map.put(key, value); } return map; } public static List<String> readFile(File file) throws Exception { List<String> list = new ArrayList<>(); if (file.exists()) { BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file))); String line; while ((line = reader.readLine()) != null) { list.add(line); } reader.close(); } return list; } /** * Runs the command "uname -a" and reads the first line */ public static String getUname() { String uname = null; try { Process p = Runtime.getRuntime().exec(new String[]{"uname", "-a"}); BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream())); uname = reader.readLine(); reader.close(); } catch (Exception ex) { ex.printStackTrace(); } return uname; } }