abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:22 | Pozvánky

    Letos se uskuteční již 11. ročník soutěže v programování Kasiopea. Tato soutěž, (primárně) pro středoškoláky, nabízí skvělou příležitost procvičit logické myšlení a dozvědět se něco nového ze světa algoritmů – a to nejen pro zkušené programátory, ale i pro úplné začátečníky. Domácí kolo proběhne online od 22. 11. do 7. 12. 2025 a skládá se z 9 zajímavých úloh různé obtížnosti. Na výběru programovacího jazyka přitom nezáleží – úlohy jsou

    … více »
    SoutezKasiopea | Komentářů: 1
    dnes 04:11 | Nová verze

    Byla vydána nová verze 2.52.0 distribuovaného systému správy verzí Git. Přispělo 94 vývojářů, z toho 33 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 18:00 | Nová verze

    VKD3D-Proton byl vydán ve verzi 3.0. Jedná se fork knihovny vkd3d z projektu Wine pro Proton. Knihovna slouží pro překlad volání Direct3D 12 na Vulkan. V přehledu novinek je vypíchnuta podpora AMD FSR 4 (AMD FidelityFX Super Resolution 4).

    Ladislav Hagara | Komentářů: 0
    včera 03:11 | Nová verze

    Poštovní klient Thunderbird byl vydán v nové verzi 145.0. Podporuje DNS přes HTTPS nebo Microsoft Exchange skrze Exchange Web Services. Ukončena byla podpora 32bitového Thunderbirdu pro Linux.

    Ladislav Hagara | Komentářů: 1
    včera 02:33 | IT novinky

    U příležitosti státního svátku 17. listopadu probíhá na Steamu i GOG.com již šestý ročník Czech & Slovak Games Week aneb týdenní oslava a také slevová akce českých a slovenských počítačových her.

    Ladislav Hagara | Komentářů: 0
    16.11. 19:33 | Nová verze

    Byla vydána nová verze 9.19 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnout lze například nový balíček BirdNET-Go, tj. AI řešení pro nepřetržité monitorování a identifikaci ptáků.

    Ladislav Hagara | Komentářů: 0
    16.11. 02:22 | Nová verze

    Byla vydána nová verze 3.38 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.10 souvisejícího programovacího jazyka Dart (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    16.11. 01:33 | Nová verze

    Organizace Apache Software Foundation (ASF) vydala verzi 28 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 0
    15.11. 16:11 | Nová verze

    Byl vydán Debian 13.2, tj. druhá opravná verze Debianu 13 s kódovým názvem Trixie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    15.11. 12:11 | IT novinky

    Google představil platformu Code Wiki pro rychlejší porozumění existujícímu kódu. Code Wiki pomocí AI Gemini udržuje průběžně aktualizovanou strukturovanou wiki pro softwarové repozitáře. Zatím jenom pro veřejné. V plánu je rozšíření Gemini CLI také pro soukromé a interní repozitáře.

    Ladislav Hagara | Komentářů: 5
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (46%)
     (19%)
     (18%)
     (23%)
     (15%)
     (23%)
     (16%)
     (16%)
    Celkem 362 hlasů
     Komentářů: 16, poslední 12.11. 18:21
    Rozcestník

    Dotaz: Netbeans projekt a relativni cesta k souboru

    23.7.2009 11:07 FITak
    Netbeans projekt a relativni cesta k souboru
    Přečteno: 1077×

    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();
        }
    

    Odpovědi

    msk avatar 23.7.2009 11:29 msk | skóre: 27 | blog: msk
    Rozbalit Rozbalit vše Re: Netbeans projekt a relativni cesta k souboru
    Tiez som s tym bojoval a dopracoval som sa len nejakeho medzivysledku a dalej som to neskumal. Vysledok je ten, ze pokial mam package "foo.faa" a v nom class-u "Foo" a nejaky subor, dajme tomu "data.txt", tak ho ziskam pomocu:

    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.
    23.7.2009 11:45 FITak
    Rozbalit Rozbalit vše Re: Netbeans projekt a relativni cesta k souboru

    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...

    23.7.2009 13:18 FITak
    Rozbalit Rozbalit vše Re: Netbeans projekt a relativni cesta k souboru

    Nevi prosim nekdo? Opravdu nutne bych to potreboval vyresit. Myslim, ze NetBeans je natolik rozsirene IDE, ze hodne lidi s necim podobnym muselo setkat...

    23.7.2009 13:39 jirka
    Rozbalit Rozbalit vše Re: Netbeans projekt a relativni cesta k souboru
    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 :)

    23.7.2009 13:58 FITak
    Rozbalit Rozbalit vše Re: Netbeans projekt a relativni cesta k souboru

    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...

    23.7.2009 15:21 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Netbeans projekt a relativni cesta k souboru
    S NetBeans to nemá nic společného, je to čistě Java. První případ (načítání ikony) načítá soubor z resources, tedy spolu se zkompilovanými třídami Javy (v souboru JAR, pokud vytvoříte z aplikace balíček). Jak to funguje se dočtete v dokumentaci u metody 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.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.