/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
indlæsning af billeder i jar-fil fra stati~
Fra : Thomas Bendsen


Dato : 12-06-04 17:13

Hej

Jeg har en applikation som pakkes i en jar-fil sammen med nogle billeder
som applikationen gerne skulle kunne indlæse.

Dette har jeg fundet ud af at man kan gøre på følgende måde:

BufferedInputStream imgStream = new BufferedInputStream(
this.getClass().getResourceAsStream("filnavn"));

(der skal selvfølgelig noget mere kode udenom)

Mit problem er at jeg gerne vil gøre dette fra en statisk metode, og så
kan jeg jo ikke så godt bruge "this". Hvad gør jeg så?

--
MVH
Thomas Bendsen

 
 
Thomas Bendsen (12-06-2004)
Kommentar
Fra : Thomas Bendsen


Dato : 12-06-04 18:18

In article <thomas_bendsen-DC5D3A.18130912062004@newsc.telia.net>,
Thomas Bendsen <thomas_bendsen@stofanet.dk> wrote:

> Hej
>
> Jeg har en applikation som pakkes i en jar-fil sammen med nogle billeder
> som applikationen gerne skulle kunne indlæse.
>
> Dette har jeg fundet ud af at man kan gøre på følgende måde:
>
> BufferedInputStream imgStream = new BufferedInputStream(
>
> this.getClass().getResourceAsStream("filnavn"));
>
> (der skal selvfølgelig noget mere kode udenom)
>
> Mit problem er at jeg gerne vil gøre dette fra en statisk metode, og så
> kan jeg jo ikke så godt bruge "this". Hvad gør jeg så?

Hmmm. Muligvis er mit problem at ovenstående slet ikke virker. Før I
bruger for meget tid på det, må jeg hellere få programmet til at virke
hvis metoden ikke er statisk (hvilket jeg hårdt presset godt kan undgå).

--
MVH
Thomas Bendsen

Lars Dam (12-06-2004)
Kommentar
Fra : Lars Dam


Dato : 12-06-04 19:20

On Sat, 12 Jun 2004 17:18:06 GMT
Thomas Bendsen <thomas_bendsen@stofanet.dk> wrote:

> In article <thomas_bendsen-DC5D3A.18130912062004@newsc.telia.net>,
> Thomas Bendsen <thomas_bendsen@stofanet.dk> wrote:
>
> > Hej
> >
> > Jeg har en applikation som pakkes i en jar-fil sammen med nogle billeder
> > som applikationen gerne skulle kunne indl_se.
> >
> > Dette har jeg fundet ud af at man kan g_re p_ f_lgende m_de:
> >
> > BufferedInputStream imgStream = new BufferedInputStream(
> >
> >
> > this.getClass().getResourceAsStream("filnavn"));
> >
> > (der skal selvf_lgelig noget mere kode udenom)
> >
> > Mit problem er at jeg gerne vil g_re dette fra en statisk metode, og s_
> > kan jeg jo ikke s_ godt bruge "this". Hvad g_r jeg s_?
>
> Hmmm. Muligvis er mit problem at ovenst_ende slet ikke virker. F_r I
> bruger for meget tid p_ det, m_ jeg hellere f_ programmet til at virke
> hvis metoden ikke er statisk (hvilket jeg h_rdt presset godt kan undg_).

Det virker sikkert udemærket, prøv:

class Plonk{
   static void Blah(){
      Plonk.class.getResourceAsStream("filnavn");
   }
}

Plonk.class er for en klasse det samme som this.getClass() er for en instans af
klassen.

>
> --
> MVH
> Thomas Bendsen


vh. ld

Thomas Bendsen (13-06-2004)
Kommentar
Fra : Thomas Bendsen


Dato : 13-06-04 07:39

In article <20040612202005.7fbcb7e1.larsdam@post2.tele.dk>,
Lars Dam <larsdam@post2.tele.dk> wrote:

prøv:
>
> class Plonk{
>    static void Blah(){
>       Plonk.class.getResourceAsStream("filnavn");
>    }
> }
>
> Plonk.class er for en klasse det samme som this.getClass() er for en instans
> af
> klassen.
>
> >
> > --
> > MVH
> > Thomas Bendsen
>
>
> vh. ld

Hej Lars og Anders

Tak for jeres forslag. "Plonk.class...." virker perfekt, men jeg kan
ikke få ClassLoader.getSystemClassLoader() til at virke.

I øvrigt har jeg opdaget at man også bare kan skrive

(new Object()).getClass().......

Men "Plonk.class" er vel lidt mere elegant?

--
MVH
Thomas Bendsen

Anders K. Olsen (13-06-2004)
Kommentar
Fra : Anders K. Olsen


Dato : 13-06-04 00:07

"Thomas Bendsen" <thomas_bendsen@stofanet.dk> wrote in message
news:thomas_bendsen-DC5D3A.18130912062004@newsc.telia.net...
> Dette har jeg fundet ud af at man kan gøre på følgende måde:
>
> BufferedInputStream imgStream = new BufferedInputStream(
> this.getClass().getResourceAsStream("filnavn"));
>
> (der skal selvfølgelig noget mere kode udenom)
>
> Mit problem er at jeg gerne vil gøre dette fra en statisk metode, og så
> kan jeg jo ikke så godt bruge "this". Hvad gør jeg så?

ClassLoader.getSystemClassLoader().getResourceAsStream("filnavn");

/Anders



Lars Dam (13-06-2004)
Kommentar
Fra : Lars Dam


Dato : 13-06-04 09:28

On Sun, 13 Jun 2004 06:38:49 GMT
Thomas Bendsen <thomas_bendsen@stofanet.dk> wrote:

> In article <20040612202005.7fbcb7e1.larsdam@post2.tele.dk>,
> Lars Dam <larsdam@post2.tele.dk> wrote:
>
> pr_v:
> >
> > class Plonk{
> >    static void Blah(){
> >       Plonk.class.getResourceAsStream("filnavn");
> >    }
> > }
> >
> > Plonk.class er for en klasse det samme som this.getClass() er for en instans
> > af
> > klassen.
> >
> > >
> > > --
> > > MVH
> > > Thomas Bendsen
> >
> >
> > vh. ld
>
> Hej Lars og Anders
>
> Tak for jeres forslag. "Plonk.class...." virker perfekt, men jeg kan
> ikke f_ ClassLoader.getSystemClassLoader() til at virke.
>
> I _vrigt har jeg opdaget at man ogs_ bare kan skrive
>
> (new Object()).getClass().......
>
> Men "Plonk.class" er vel lidt mere elegant?

Eftersom (new Object)).getClass() instantierer et objekt som du ellers ikke har
brug for, ja så er Plonk.class bedre.

>
> --
> MVH
> Thomas Bendsen


vh. ld

Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409081
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste