Hirdetés
- Milyen SSD-t vegyek?
- Szünetmentes tápegységek (UPS)
- DUNE médialejátszók topicja
- Októberben kerülnek legacy státuszba a régebbi GeForce VGA-k
- Mini-ITX
- Amlogic S905, S912 processzoros készülékek
- Hamarosan megjön az ASUS házak új zászlóshajója
- Gaming notebook topik
- Milyen monitort vegyek?
- Fejhallgató erősítő és DAC topik
Hirdetés
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!
Új hozzászólás Aktív témák
-
válasz
#68216320 #10800 üzenetére
Az exe futtatása megoldható a
Runtime.getRuntime().exec(...)
hívással. Visszakapsz egy processz-t, aminek a lefutásátwaitFor()
-ral megvárod. Itt van rá egy kis példa program, ami már demonstrálja azt is, hogy hogyan lehet az exe outputját (stdout) megszerezni. (Alternatíva, hogy az exe egy fájlba írja az outputját, amit futás után normál módon fájlként felolvasol.)A parsolásra régebben még azt mondtam volna, hogy kell írni egy parsert, de manapság ez nem divat... Ha tényleg ennyire rögzített a szerkezet, akkor a sorban szereplő négy komponens (csoport, adatnév, értéknév, érték) előbányászható egy reguláris kifejezéssel is, pl. ezzel:
^([^.]+)\.([^.]+)\.([^.]+): *(.*?) *$
Az outputot soronként célszerű feldolgozni, az elején vagy ki kell hagyni fix számú sort, vagy egyszerűen ki kell hagyni azokat, amire nem illeszkedik a regex:
Pattern pattern = Pattern.compile(<a fenti regex>);
while (<van sor>) {
Matcher m = pattern.matcher(<a sor tartalma>);
if (m.find()) {
String sensorGroup = m.group(1);
// ...
String sensorValue = m.group(4);
// DB mentés
}
}Alternatív szervezés: linux-ban oldod meg, amit lehet. A java program nem hajt végre exec-et, helyette a standard input-ot olvassa, és dolgozza fel. Hívni meg valahogy így:
>sensor.exe <opciók> | java -jar sensorprocessor.jar
És az egészet lehet futtatni pl. cron-ból. (Hátránya, hogy a JVM indítás kissé erőforrásigényes, 30 másodpercenként meg pláne.)
Megjegyzések: (1) fejből írtam, a kódot tekintsük pszeudokódnak, (2) a regex pattern-ben a
\
-eket duplikálni kell a Java string konstansban.Szerk: A korábbi válaszokat nem láttam, pár dolog így ismétlés, bocs.
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Milyen SSD-t vegyek?
- Szünetmentes tápegységek (UPS)
- DUNE médialejátszók topicja
- Októberben kerülnek legacy státuszba a régebbi GeForce VGA-k
- Lakáshitel, lakásvásárlás
- Miért álltak az oldalak egy hétig, mi történt?
- World of Tanks - MMO
- Milyen légkondit a lakásba?
- Mini-ITX
- Amlogic S905, S912 processzoros készülékek
- További aktív témák...
- 0 perces RYZEN laptop, eredeti Win10! FullHD IPS / 12GB DDR4 / 1TB M.2 SSD! LEGOLCSÓBB SZÁMLÁS ÁR!
- ASUS ROG STRIX 850W Gold Aura Edition RGB Moduláris Tápegység PCIE 5 ATX 3 2x 12VHPWR
- Corsair RM850i 850W Gold Moduláris Tápegység
- Corsair RM750X 750W Gold Moduláris Tápegység
- GIGABYTE AORUS P750W Gold Moduláris Tápegység
- LG K61 128GB, Kártyafüggetlen, 1 Év Garanciával
- LG 48C2 - 48" OLED EVO - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - A9 Gen5 CPU
- Honor Pad X8 64GB, Wi-Fi, 1 Év Garanciával
- LG 27MR400 - 27" IPS LED - 1920x1080 FHD - 100hz 5ms - AMD FreeSync - Villódzásmentes
- AKCIÓ! MSI B365M i5 8600 16GB DDR4 512GB SSD RX 5700XT 8GB CM MASTERBOX Q300L Zalman 600W
Állásajánlatok
Cég: FOTC
Város: Budapest