example config.conf
# http and https ports configuration
http_port = 48001
https_port = 48001
# printer port
printer_port=/dev/rfcomm0
# printer size
printer_size=80mm
java code
// configuration file config.conf
static final String linux_file_path = "/etc/dddtescpos/config.conf";
static final String file_path = "./config.conf";
public static String printer_port = null;
public static String printer_size = null;
public static int http_port = -1;
public static int https_port = -1;
public static void readConfig() {
Path configFile = Paths.get(linux_file_path);
if (Files.notExists(configFile)) {
configFile = Paths.get(file_path);
}
// comment in config file will # or !
Properties props = new Properties();
try (InputStream input = Files.newInputStream(configFile)) {
props.load(input);
printer_port = props.getProperty("printer_port");
printer_size = props.getProperty("printer_size");
if (printer_size == null || printer_size.isBlank()) {
printer_size = "80mm"; // default
} else {
printer_size = printer_size.trim().toLowerCase();
if (!printer_size.equals("58mm")
&& !printer_size.equals("80mm")) {
printer_size = "80mm"; // default for invalid value
}
}
String tmpPort = props.getProperty("http_port","48001");
try {
int intTmpPort = Integer.parseInt(tmpPort);
if (intTmpPort<48000 || intTmpPort>65535)
intTmpPort = 48001;
http_port = intTmpPort;
} catch (NumberFormatException ex) {
http_port = 48001;
}
tmpPort = props.getProperty("https_port","48002");
try {
int intTmpPort = Integer.parseInt(tmpPort);
if (intTmpPort<48000 || intTmpPort>65535)
intTmpPort = 48002;
https_port = intTmpPort;
} catch (NumberFormatException ex) {
https_port = 48002;
}
// if ports hava equal value, set default
if (http_port == https_port) {
http_port = 48001;
https_port = 48002;
}
} catch (IOException ex) {
System.out.println("No Configuration file found");
http_port = 48001;
https_port = 48002;
}
}