Společnost Red Hat slaví 30 let.
Ve věku 91 let zemřel izraelský informatik Ja'akov Ziv, spolutvůrce bezztrátových kompresních algoritmů LZ77, LZ78 a LZW (Lempel–Ziv–Welch).
Byla představena nová Arduino deska Arduino UNO R4 s 32bitovým MCU RA4M1 (Arm Cortex-M4). Desku lze zatím získat pouze v rámci early access programu.
Operační systém MidnightBSD, fork FreeBSD optimalizovaný pro desktop s prostředím Xfce, byl vydán ve verzi 3.0. Přehled novinek v poznámkách k vydání.
Na GOG.com běží Spring Sale. Při té příležitosti lze získat zdarma počítačovou hru Neurodeck: Psychological Deckbuilder (ProtonDB).
Alex Ellis upozornil 15. března, že firma Docker se chystala zrušit bezplatný hosting open-source projektů na Docker Hubu. Po vlně odporu se představitelé firmy omluvili a posléze byl původní záměr odvolán.
Ve věku 94 let zemřel Gordon Moore, mj. spoluzakladatel společnosti Intel a autor Moorova zákona.
Mercurial (Wikipedie), software pro SCM (Source Code Management), byl vydán ve verzi 6.4. Přehled novinek v poznámkách k vydání. Ve dnech 5. až 7. dubna proběhne konference Mercurial Paris.
Byly rozdány Ceny Velkého bratra (Big Brother Awards) za rok 2022 pro největší slídily pořádané nevládní organizací Iuridicum Remedium. Dlouhodobý slídil: Microsoft. Firemní slídil: Seznam. Úřední slídil: Nejvyšší správní soud. Výrok Velkého bratra: Marian Jurečka. Pozitivní cena: NoLog.
Byla představena online vzdělávací platforma Ada Computer Science pro učitele, studenty a kohokoli, kdo se zajímá o informatiku. Stojí za ní Raspberry Pi Foundation a Univerzita v Cambridgi.
Dobry den, programuji projekt v Netbeans a zasekl jsem se na zdanlive malickosti. V programu pracuji s XML soubory a mam tedy tridu pro jejich nacitani a pro jejich dalsi zpracovani.
Jeste pred vysvetlenim problemu sem hodim strom projektu:
$ tree -d . |-- build | |-- classes | | `-- program | | |-- data | | |-- images | | `-- xml | `-- empty |-- nbproject | `-- private |-- src | `-- program | |-- data | |-- images | `-- xml `-- test
Co jsem se dival do automaticky generovaneho kodu obrazky ze slozky images se nacitaji takto:
jLabelSTARTER.setIcon(new javax.swing.ImageIcon(getClass().getResource("/program/images/start.PNG")));
Z toho jsem logicky usoudil, ze kontruktor me tridy pro praci s XML budu volat takto:
XMLworker xmlDoc = new XMLworker("/program/data/score.xml", "scoreboard");
Soubor score.xml ve slozce data SKUTECNE existuje, presvedcoval jsem se o tom snad 100x.
Vzdy vsak dostanu chybu
program.xml.XMLworkerException: Cannot load document: java.io.FileNotFoundException: /program/data/score.xml (No such file or directory) ...
Zkousel jsem tu cestu k souboru ruzne upravoval, ale bezvysledne
Pkud by vas nahodou zajimal i ten vlastni konstruktor:
public XMLworker(String uri, String topElement) throws XMLworkerException { try { DocumentBuilder builder=DocumentBuilderFactory.newInstance().newDocumentBuilder(); doc = builder.parse(uri); } catch (java.lang.Exception e) { throw new XMLworkerException("Cannot load document: "+e.toString()); } checkDocumentStructure(); test(); }
Foo().class.getResourceAsStream("data.txt");
Podmienkou je, aby data.txt a Foo.java boli v jednej package.
Tym nechcem tvrdit, ze to inak nejde, ale mne to takto staci a dalej to neriesim.
To reseni mi prijde trochu "pres ruku", ale budiz, s tim bych se smiril. Problem vsak je, ze v adresari data, kde je umisten soubor score.xml neni zadna trida...
Nevi prosim nekdo? Opravdu nutne bych to potreboval vyresit. Myslim, ze NetBeans je natolik rozsirene IDE, ze hodne lidi s necim podobnym muselo setkat...
vsimnul jste si rozdilu ve volani funkce getClass().getResource(string)? Parametrem teto funkce je cesta ktera se hleda v CLASSPATH, zatimco kdyz zavolate builder.parse(string) - tak se string povazuje za URI!! /nekde/neco je u me klasicka cesta v rootu. spravne by melo byt neco jako: jar:file:/.../foo.jar!/program/data/score.xml tedy to co dostanete kdyz zavolate getClass().getResource("/program/data/score.xml").toURI a to predate jako parametr, a nebo:
misto doc = builder.parse(uri); volat doc = builder.parse(getClass().getResourceAsStream(uri));
snad jsem se vyjadril dost jasne :)
Aha, dekuji, tuhle cast kodu jsem zkopiroval odsud (serial o XML na linuxsoft):
http://www.linuxsoft.cz/img/xml03/src/PhoneBookTableModel.java.html
tak jsem tomu veril...
java.lang.Class.getResource()
, případně obdobná metoda u třídy ClassLoader
.
V druhém případě se předává cesta k souboru na disku, dokumentaci hledejte u java.io.File
.
Tiskni
Sdílej: