- Red Magic 11 Air – vékony házból süvít a szél
- Csíptetős fülesek csatája – Sony LinkBuds Clip vs. Huawei FreeClip 2
- Mérföldkő a szilárdtest-akkuknál: fontos lépést tett a QuantumScape
- Újabb óriásakku a Honortól: a X80 lehet a következő 10 000 mAh-s modell
- iPhone 18 Pro Max: kis kapacitásbővítés hoz nagy előrelépést üzemidőben
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Mobil flották
- Milyen okostelefont vegyek?
- Külföldi prepaid SIM-ek itthon
- Poco F7 – bajnokesélyes
- Netfone
- Télvíz idején érkezik az iPhone 17e
- Rövid teaserrel erősítette meg a Google a Pixel 10a érkezését
- Hivatalos a OnePlus 13 startdátuma
Ú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?:))
- Autós topik
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Kínai és egyéb olcsó órák topikja
- Cyberpunk 2077
- Gitáros topic
- Elektromos rásegítésű kerékpárok
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Amazon Fire TV stick/box
- Revolut
- További aktív témák...
- Dell Precision 3561,15.6" FHD,i7-11850H,16GB DDR4,512GB SSD,T600 4GB VGA,WIN11
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB DDR5 RAM RTX 5070Ti 16GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! ASUS H510M i5 11400F 16GB DDR4 512GB SSD RX 6700 10GB Zalman T4 Plus Chieftec 650W
- BESZÁMÍTÁS! Nintendo Switch OLED 64GB játékkonzol garanciával hibátlan működéssel
- LG 48C4 - 48" OLED evo - 4K 144Hz - 0.1ms - NVIDIA G-Sync - FreeSync - HDMI 2.1 - A9 Gen7 CPU
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


