Hirdetés
- Jövő héten indul a Xiaomi kameraforradalma
- Csonkítás áldozata lett a nemzetközi Redmi Note 15 Pro+
- Nem rejtegetik tovább a Redmi Note 15 Pro és 15 Pro 5G globális verzióját sem
- Akciófigyelő: December 24-ig tart az Ulefone karácsonyi leárazása
- Bemutatta a Xiaomi a Redmi Note 15 és Note 15 5G globális változatát
- iPhone topik
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Samsung Galaxy S21 FE 5G - utóirat
- Nem rejtegetik tovább a Redmi Note 15 Pro és 15 Pro 5G globális verzióját sem
- Milyen robotporszívót vegyek karácsonyra? (2025)
- Azonnali mobilos kérdések órája
- Megbüntették, ezért feloszlatná az EU-t Elon Musk
- Külföldi prepaid SIM-ek itthon
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Fél perc csend, majd világra jön egy Magic8 Pro
Ú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?:))
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Nintendo Switch 2
- NFL és amerikai futball topik - Spoiler veszély!
- Samsung kuponkunyeráló
- Majdnem megfelezi a GeForce GPU-k gyártókapacitását az NVIDIA?
- Kerékpárosok, bringások ide!
- Apple MacBook
- LEGO klub
- iPhone topik
- TCL LCD és LED TV-k
- További aktív témák...
- HIBÁTLAN iPhone 15 Pro 128GB Blue Titanium -1 ÉV GARANCIA -Kártyafüggetlen
- Telefon felvásárlás!! Samsung Galaxy Note 10+/Samsung Galaxy Note 20/Samsung Galaxy Note 20 Ultra
- Lenovo ThinkPad T14 Gen1 Intel i5-10310U Refurbished - Garancia - Akció!
- MacBook Pro 13, 14, 15, 16, MacBook Air M1, M2 M3 M4 bill magyarosítás lézerrel / sapkacserével
- ÁRGARANCIA!Épített KomPhone i9 14900KF 32/64GB DDR5 RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi


