Avatar billede skalle Novice
17. december 2007 - 23:20 Der er 8 kommentarer og
1 løsning

Relativ sti, hvor starter man?

Hej eksperter
Jeg undrer mig over hvordan det at referere til relative stier fra java. Hvis jeg har følgende mappe og undermapper:

|Spillet|
    |
    + - |bin|
    |    |
    |    | - Mitspil.class
    |    |
    |    | - lyd.wav
    |   
    + - |src|
    |    |
    |    | - MitSpil.java
    |    |
    |    | - ko.jpg
    |
    | - Spillet.jar


Jeg kan starte spillet fra 2 forskellige filer: 'Spillet.jar' og 'MitSpil.class'.

1. Spørgsmål: Hvis jeg starter Spillet fra Spillet.jar, skal jeg så referere til lyd.wav således..'\bin\lyd.wav'

2. Spørgsmål: Hvis jeg starter spillet fra MitSpil.Class skal jeg så referere til lyd.wav således..'\lyd.wav'

3. Spørgsmål: Hvis jeg starter spillet fra MitSpil.class, hvordan kan jeg så referere til ko.jpg?

4. Spørgsmål: Hvad betyder det at bruge / frem for \?


Mvh Skalle
Avatar billede kalp Novice
17. december 2007 - 23:24 #1
Hvis det fungerer som web når man angiver stier så..

1. bin\lyd.wav
2. lyd.wav
3. ..\src\ko.jpg
4. jeg bruger i hvertfald kun / til url'er og \ til at navigerer i filsystemet:)
Avatar billede arne_v Ekspert
18. december 2007 - 01:45 #2
Relative fil stier i java er relativ i forhold til processen er og ikke hvor
programmet er !

Står du C:\spillet så er det bin/lyd.waw, står du i C:\spillet\bin er det lyd.waw,
står du i C:\a\b\c\d er det ..\..\..\..\spillet\bin\lyd.waw !
Avatar billede arne_v Ekspert
18. december 2007 - 01:46 #3
Java op windows kan brtuge både / og \ - ingen forskel.
Avatar billede arne_v Ekspert
18. december 2007 - 01:46 #4
Distributions mæssigt bør du pakke din jpg og din waw ned i jar filen og lade
dit program hente dem derfra .
Avatar billede skalle Novice
18. december 2007 - 12:44 #5
Hej arne v
hvordan refererer jeg så ind i .jar filen?

Mvh skalle

PS, vil du ikke svare som svar?
Avatar billede arne_v Ekspert
18. december 2007 - 15:04 #6
Properties p = new Properties();
      p.load(getClass().getClassLoader().getResourceAsStream("props.props"));

henter en properties fil fra jar filen

        ImageIcon icon = new ImageIcon(getClass().getClassLoader().getResource("images/blue.jpg"));

henter en JPG fil fra jar file

o.s.v.
Avatar billede arne_v Ekspert
18. december 2007 - 15:04 #7
og et svar
Avatar billede skalle Novice
18. december 2007 - 18:56 #8
hmmm.. jeg kan ikke få det til at virker.. når jeg prøver p.load, sige eclipse at jeg load() ikke er en kendt metode i Properties :( hvad gør jeg forkert?
Avatar billede arne_v Ekspert
18. december 2007 - 19:13 #9
docs har den:

http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html#load(java.io.InputStream)

angiver du det rigtige argument ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester