Hirdetés
- Milyen belső merevlemezt vegyek?
- Régi CPU újrakiadásával ünnepelné a Socket AM4 tizedik évfordulóját az AMD
- Fejhallgató erősítő és DAC topik
- Autós kamerák
- Hobby elektronika
- Milyen monitort vegyek?
- Hogy is néznek ki a gépeink?
- Adatmentés - HDD - SSD - Flash
- AMD vs. INTEL vs. NVIDIA
- Milyen TV-t vegyek?
Ú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 belső merevlemezt vegyek?
- Diablo II: Classic és Resurrected
- Ubiquiti hálózati eszközök
- Régi CPU újrakiadásával ünnepelné a Socket AM4 tizedik évfordulóját az AMD
- A fociról könnyedén, egy baráti társaságban
- exHWSW - Értünk mindenhez IS
- Samsung Galaxy Felhasználók OFF topicja
- Fejhallgató erősítő és DAC topik
- Debrecen és környéke adok-veszek-beszélgetek
- Kerékpárosok, bringások ide!
- További aktív témák...
- Samsung Galaxy S22 Ultra 256GB, Kártyafüggetlen, 1 Év Garanciával
- XFX RX 9070 XT 16GB GDDR6 MERCURY OC Gaming Edition with RGB - Gari 2029.01.14. -ig - Eladó!
- EliteBook x360 1040 G8 14" FHD IPS érintő i7-1165G7 16GB 512GB NVMe magyar vbill IR kam gar
- MacBook 12" Retina 2015, 8/256, 1.1 Ghz Intel M, magyar billentyűzet
- SAPPHIRE RX 9070 16GB GDDR6 NITRO+ OC Eladó!
- HP 200W töltők (19.5V x 10.3A) kis kék, kerek, 4.5x3.0mm, 928429-002
- Honor Magic 7 Lite 256GB Graphite Megkímélt állapot 8GB RAM 6 hónap garancia
- HIBÁTLAN iPhone 15 128GB Pink-1 ÉV GARANCIA - Kártyafüggetlen, MS4635
- AKCIÓ! 2TB Samsung 990 PRO NVMe SSD meghajtó garanciával hibátlan működéssel
- 134 - Lenovo Legion Pro 7 (16IRX8H) - Intel Core i9-13900HX, RTX 4090
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

