Ú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?:))
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- MW2 - MW3 játékosok baráti köre
- Beszállna az árnövelő versenybe az AMD
- PlayStation 5
- A fociról könnyedén, egy baráti társaságban
- Házi hangfal építés
- Xbox Series X|S
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- További aktív témák...
- HP Omen 15 ( i7 6th, 8 GB, 240 SSD, 4GB Gef960) AkciÓÓ!
- Logitech MX Keys Mini for Mac - német - bontatlan
- 15.gen! Intel Core ULTRA 9 285K (24mag!) +32GB DDR5 kit +ASROCK Z890 PRO-A! GAR/SZÁMLA (Te nevedre)!
- ASUS TUF Gaming GeForce RTX 3080 10GB OC GDDR6X 320bit LHR dobozos, 1 tulajos, 2027.07.04-ig gari
- Intel D3-S4510 1,92 TB - 2,5", SATA3, 7100 TBW - 100/99% - Eladó!
- iPhone 17 White 256 GB - Bontatlan !! www.stylebolt.hu - Apple eszközök és tartozékok - Számlás
- 194 - Lenovo Legion 5 (15IRX10) - Intel Core i9-14900HX, RTX 5070 (ELKELT)
- Honor Magic 7 Lite 512GB,Újszerű,Adatkabel,12 hónap garanciával
- AKCIÓ! Gigabyte B650M R7 8700F 64GB DDR5 1TB SSD RTX 5070 Ti 16GB Lian LI LANCOOL207 ADATA 850W
- HP Zbook Studio G5 - 15,6" UHD kijelző, Xeon E-2176M, 16GB RAM, 512GB SSD, Quadro P1000 4GB, számla
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

