Larsmars Skrevet 3. april 2007 Skrevet 3. april 2007 Hei, skal spille av lyd i java men får ikke til å finne fram til fila. hvis jeg bruker this.getClass().getResource(""); så kommer jeg til hovedpakka.. mappen med musikken ligger 2 kataloger under så skulle tro jeg kunne bruke ../../ inni getresource. ../ funker en gang og jeg kommer en katalog ned, men greier ikke å komme 2 ned. Tror det har noe med at java tolker stringen annerledes når jeg skriver ../../. Noen som har peiling? Kan jo bare legge musikk filene i samme mappe men skulle helst unngått dette. På forhånd takk Lars
HV Skrevet 3. april 2007 Skrevet 3. april 2007 (endret) try { System.out.println(ImageIO.read(getClass().getResource("New Folder/New Folder/New Folder/pic.jpg"))); } catch (IOException e) { e.printStackTrace(); } En url er en url om den kun er relativ.... Dette går feks fint... Kanskje du gjør en feil med "this.getClass", da blir det den klassen som blir root til den relative urlen.. Endret 3. april 2007 av HV
Larsmars Skrevet 3. april 2007 Forfatter Skrevet 3. april 2007 try { System.out.println(ImageIO.read(getClass().getResource("New Folder/New Folder/New Folder/pic.jpg"))); } catch (IOException e) { e.printStackTrace(); } En url er en url om den kun er relativ.... Dette går feks fint... Kanskje du gjør en feil med "this.getClass", da blir det den klassen som blir root til den relative urlen.. 8302152[/snapback] trenger å gå opp 2 nivåer, dvs. tilbake 2 kataloger. skriver jeg getclass().getresource("") kmr jeg til mappen jeg står i, men jeg vil 2 opp.. har prøvd getclass().getresource("../../") men får null tilbake fra det kallet.. Noen andre forslag?
HV Skrevet 3. april 2007 Skrevet 3. april 2007 (endret) Det jeg prøvde å si, du kan ikke gå høyere en root.. Siden du ikke virker som du har noen externe løsninger på å hente ressurser, så kan et alternativ være å bruke en annen klasse til å hente filene da. Kanskje oprette en nesten tom klasse som heter SoundResource som ligger i lyd mappen din eller høyere og deretter si fra der du vil: try { System.out.println(ImageIO.read(SoundResource.class.getResource("New Folder/New Folder/New Folder/pic.jpg"))); } catch (IOException e) { e.printStackTrace(); } Endret 3. april 2007 av HV
maskefjes Skrevet 4. april 2007 Skrevet 4. april 2007 (endret) Forsøk deg på å skrive stien til lydfila som pakkenavnet og deretter filnavn. Dersom lydfila ligger i pakken com.mysite.myapp.resources og heter sound.wav så forsøk følgender: URL url = this.getClass().getResource("/com/mysite/myapp/resources/sound.wav"); -/maskefjes Endret 4. april 2007 av maskefjes
Larsmars Skrevet 4. april 2007 Forfatter Skrevet 4. april 2007 Takk for hjelpa, endte med vha eclipse at jeg oppretta en pakke på samme nivå som hovedpakka og la til nye filer der..Litt kronglete iom. eclipse ikke oppdaterer pakke innhold men bare mapper.
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå