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