MadMax2581
Mitglied
Hallo zusammen! Hab mal wieder eine mehr oder weniger schwierige Frage an die Experten.
Kann man mittels Java ein ini-File nach seinen wünschen zerlegen?
Mein ini-File hat bspw. folgende Struktur:
=================================================================
[COMPILER]
TYPE = cosmic
[SETTINGS]
MAX_RAM = 2048
MAX_ROM = 27136
MAX_EEPROM = 0
ROM_CONTENT = FTC,CHKSUM,VCT,VERSION
RAM_CONTENT = .bss,DIRECT,WL_Z_RAM,pparam,aparam
EEPROM_CONTENT = uapara
TOLERANZGELB = 70
TOLERANZROT = 80
STACKOVERFLOWWARNING = 0
SHOWSZENARIOS = 1
SHOWTASKS = 1
[PACKAGES]
BSW-IO = port, dio, adc
BSW-PERIPHERAL = crtsi, mcu, gpt, spi, spi_cfg, trm, checksum, ctrlram, wdg, sbc
BSW-APPLICATIONS = scheduler, scheduler_cfg, battmon, errtrace, psa_t8, version
BSW-POWERMAN = powerman, powerman_cfg
BSW-E2EMU = nvram_drv_s08, nvram_mgn, nvram_stat, nvram_api, nvram_cfg
BSW-API = api
FLASH_TC = psa_t8_ftc
LIN_DRIVER = linapi, lintp, linlayer2, linlayer1, linkwp, linkwp_cfg, linhook
WINDOWLIFTER = wl_adapt, wl_anlauf, wl_antitrap, wl_atcalc, wl_interrupt
MISC = abs, memcpy, udiv, ireg, lreg, jctab, imul, call, memset, stmov
[TASK]
Scheduler_TaskInit = 0x7602 (Kanal 1)
Scheduler_TaskX1 = 0x7606 (Kanal 2)
Scheduler_TaskX2 = 0x760A (Kanal 3)
Scheduler_TaskX4 = 0x760E (Kanal 4)
Scheduler_TaskX8 = 0x7612 (Kanal 5)
Scheduler_TaskX16 = 0x7616 (Kanal 6)
Scheduler_TaskX32 = 0x761A (Kanal 7)
Scheduler_TaskX64 = 0x761E (Kanal 8)
Scheduler_TaskX128 = 0x7622 (Kanal 9)
Scheduler_TaskXResidual = 0x7626 (Kanal10)
Stack usage = 0x762B (Kanal11)
[REPORTS]
Metrikreport = MISRA4,MISRA8,MISRA,STECT,STCDN
=================================================================
Ich möchte jetzt nur einen bestimmten Block aus dem ini-File haben --> bspw. [PACKAGES] und dann nur auf seine Datensätze (bestehend aus Key = Daten) zugreifen können. Gibt es da eine Möglichkeit?
Habe schon herausgefunden das es bei Java extra dafür die Properties-Klasse gibt. Bekomme es aber einfach nicht hin nur einen einzelnen Block (z.B. [PACKAGES] ) zu erhalten.
Kennt sich jemand damit aus und kann mir helfen, oder kennt eine andere Möglichkeit wie ich das sicher lösen kann (die Blöcke sind immer gleich, nur die Daten in den Blöcken können sich jedes mal ändern)?
Ich danke euch für eure Hilfe.
Gruss Max
Kann man mittels Java ein ini-File nach seinen wünschen zerlegen?
Mein ini-File hat bspw. folgende Struktur:
=================================================================
[COMPILER]
TYPE = cosmic
[SETTINGS]
MAX_RAM = 2048
MAX_ROM = 27136
MAX_EEPROM = 0
ROM_CONTENT = FTC,CHKSUM,VCT,VERSION
RAM_CONTENT = .bss,DIRECT,WL_Z_RAM,pparam,aparam
EEPROM_CONTENT = uapara
TOLERANZGELB = 70
TOLERANZROT = 80
STACKOVERFLOWWARNING = 0
SHOWSZENARIOS = 1
SHOWTASKS = 1
[PACKAGES]
BSW-IO = port, dio, adc
BSW-PERIPHERAL = crtsi, mcu, gpt, spi, spi_cfg, trm, checksum, ctrlram, wdg, sbc
BSW-APPLICATIONS = scheduler, scheduler_cfg, battmon, errtrace, psa_t8, version
BSW-POWERMAN = powerman, powerman_cfg
BSW-E2EMU = nvram_drv_s08, nvram_mgn, nvram_stat, nvram_api, nvram_cfg
BSW-API = api
FLASH_TC = psa_t8_ftc
LIN_DRIVER = linapi, lintp, linlayer2, linlayer1, linkwp, linkwp_cfg, linhook
WINDOWLIFTER = wl_adapt, wl_anlauf, wl_antitrap, wl_atcalc, wl_interrupt
MISC = abs, memcpy, udiv, ireg, lreg, jctab, imul, call, memset, stmov
[TASK]
Scheduler_TaskInit = 0x7602 (Kanal 1)
Scheduler_TaskX1 = 0x7606 (Kanal 2)
Scheduler_TaskX2 = 0x760A (Kanal 3)
Scheduler_TaskX4 = 0x760E (Kanal 4)
Scheduler_TaskX8 = 0x7612 (Kanal 5)
Scheduler_TaskX16 = 0x7616 (Kanal 6)
Scheduler_TaskX32 = 0x761A (Kanal 7)
Scheduler_TaskX64 = 0x761E (Kanal 8)
Scheduler_TaskX128 = 0x7622 (Kanal 9)
Scheduler_TaskXResidual = 0x7626 (Kanal10)
Stack usage = 0x762B (Kanal11)
[REPORTS]
Metrikreport = MISRA4,MISRA8,MISRA,STECT,STCDN
=================================================================
Ich möchte jetzt nur einen bestimmten Block aus dem ini-File haben --> bspw. [PACKAGES] und dann nur auf seine Datensätze (bestehend aus Key = Daten) zugreifen können. Gibt es da eine Möglichkeit?
Habe schon herausgefunden das es bei Java extra dafür die Properties-Klasse gibt. Bekomme es aber einfach nicht hin nur einen einzelnen Block (z.B. [PACKAGES] ) zu erhalten.
Kennt sich jemand damit aus und kann mir helfen, oder kennt eine andere Möglichkeit wie ich das sicher lösen kann (die Blöcke sind immer gleich, nur die Daten in den Blöcken können sich jedes mal ändern)?
Ich danke euch für eure Hilfe.
Gruss Max