Hirdetés
- Meggyi001: Hasznos helyek és tippek Párizsban, amiket jó eséllyel keresni is fogsz...
- Meggyi001: Kórházi ellátás: kuka vagy finom?
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- bitpork: 2025, zárás
- eBay-es kütyük kis pénzért
- sziku69: Fűzzük össze a szavakat :)
- sh4d0w: Kalózkodás. Kalózkodás?
- sziku69: Szólánc.
- Brogyi: CTEK akkumulátor töltő és másolatai
Ú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?:))
- Kecses és filléres Apple Watch klón a Redmitől
- Kormányok / autós szimulátorok topikja
- Formula-1
- Tesla topik
- iPhone topik
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Androidos tablet topic
- Xiaomi 15T Pro - a téma nincs lezárva
- Autós topik
- További aktív témák...
- T14s Gen4 14" FHD+ IPS Ryzen 7 PRO 7840U 32GB 512GB NVMe magyar vbill ujjlolv IR kam gar
- Samsung Galaxy S23 Ultra 256Gb Zöld, jó akkumulátor
- MSI Cyborg 15 A13VF 15.6" FHD IPS i7-13620H RTX 4060 16GB 512GB NVMe gar
- X1 Carbon 11th 14" FHD+ IPS i5-1345U 32GB 512GB NVMe magyar vbill ujjolv IR kam gar
- új Sony PlayStation 5 Slim 1 TB + DualSense kontroller
- REFURBISHED és ÚJ - Lenovo ThinkPad 40AY Universal USB-C Dock
- Thinkpad L13 Yoga i5-10210U 16GB 1000GB 13.3", Touch gyári magyar világítós bill 360 Gar.: 1év
- Bomba ár! Lenovo ThinkPad X230 - i7-3GEN I 8GB I 256SSD I 12,5" HD I W10 I Garancia!
- Gamer PC-Számíógép! Csere-Beszámítás! I7 13700F / RTX 4070Ti Super 16GB OC / 32GB DDR5 / 1TB SSD
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő

