Cesta k souborům – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Cesta k souborům – Java – Fórum – Programujte.comCesta k souborům – Java – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Jiri
~ Anonymní uživatel
55 příspěvků
12. 8. 2010   #1
-
0
-

Zdravím,
rád bych přistupoval k souboru, který je v dané složce jako spustitelný soubor jar nebo v nějaké jeho podsložce. Nedaří se mi však správný zápis relativní adresy.

Ukázka na testovaném souboru:
Process p = rt.exec("C:/Program Files/VideoLAN/VLC/vlc.exe");

Za předpokladu, že by byl uvedený soubor ve složce kde je aplikace a v další úrovni programy:
Process p = rt.exec("programy/vlc.exe");

Používal, bych to na nějaký "konfigurační" soubor třeba obyčejný txt ne přímo exe soubor jak je uvedeno zde, jen sem to na tomto příkladu zkoušel.

Zkoušel jsem variace zápisů //; ..// apod., abych vyzkoušel různé varianty, ale relativní zápis se mi nedaří.

Moc děkuji za odpověď. A doufám, že jsem nezaložil nějaké duplicitní vlákno, ale nepodařilo se mi to zatím vyřešit.

Nahlásit jako SPAM
IP: 88.101.72.–
Reklama
Reklama
zdenda
~ Anonymní uživatel
257 příspěvků
12. 8. 2010   #2
-
0
-

A je výchozí bod té relativní cesty tam, kde ho čekáš? Resp. co vypíše toto:

System.out.println(new java.io.File("").getAbsolutePath());

System.out.println(getClass().getProtectionDomain().getCodeSource().getLocation().getPath());

Nahlásit jako SPAM
IP: 213.211.51.–
Jiri
~ Anonymní uživatel
55 příspěvků
13. 8. 2010   #3
-
0
-

To Zdenda:

absolutni: C:\Users\Jiri\Desktop\moje\quide\Guide
relativni: /C:/Users/Jiri/Desktop/moje/quide/Guide/build/classes/

Jestli tomu správně rozumím, tak pro relativní zápis by musel být soubor ve složce /build/classes/ zřejmě že.

Nahlásit jako SPAM
IP: 88.101.72.–
zdenda
~ Anonymní uživatel
257 příspěvků
13. 8. 2010   #4
-
0
-

To první je "akutální pracovní adresář" a z něj vycházejí relativní cesty. Ale ten může být v podstatě jakýkoliv. Viz. toto u mě:

D:\wrk\java\curdir>java curdir

D:\wrk\java\curdir
/D:/wrk/java/curdir/
D:\>java -classpath d:\wrk\java\curdir curdir
D:\
/D:/wrk/java/curdir/
Nejjednodušší je zjistit skutečné umístění tříd (tedy to druhé; ne nutně zrovna takhle), z toho vytáhnout kořenový adresář aplikace a ten používat jako base + "soubor.xyz" apod. (předpokládám editovatelný konfigurák, tedy že ho nemáš v jaru)

Nahlásit jako SPAM
IP: 213.211.51.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 22 hostů

Podobná vlákna

Nejkratsi cesta — založil Jardan

Cesta k programu — založil Slim

Cesta k Po spuštění — založil Midnight

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý