Avatar billede akjaer Nybegynder
21. januar 2004 - 19:10 Der er 16 kommentarer og
1 løsning

Billeder i en jar-fil

Jeg har et problem mht. at få en jar-fil til at læse billeder.

Jeg har sammen med nogle andre lavet et spil i java-swing, der i forbindelse med et projekt skal afleveres i en jar-fil. Programmet virker fint, men der er så opstået det problem, at jar-filen ikke kan finde de billeder, som den indeholder.

Programmet virker fint, når det ikke er samlet i en jar-fil.


Billedfilerne er af typen gif.


Nogen der ved hvad man skal gøre for at få jar-filen til at finde billederne, der SKAL ligge i jar-filen ?


Det haster ret meget


VH


Andreas
Avatar billede arne_v Ekspert
21. januar 2004 - 19:16 #1
ImageIcon img = new ImageIcon(this.getClass().getClassLoader().getResource("relativ sti"));

bør virke fra jar fil !
Avatar billede akjaer Nybegynder
21. januar 2004 - 20:12 #2
Sorry... en af mine venner klarede det selv...


Det andet problem opstår så... kan man skrive til / fra text-filer der ligger inde i en jar-fil ?


Andreas
Avatar billede arne_v Ekspert
21. januar 2004 - 20:18 #3
Det tror jeg ikke at du kan.

Jeg mener ikke at du kan bruge java.util.jar på en jar fil som bruges af dig.
Avatar billede akjaer Nybegynder
21. januar 2004 - 20:38 #4
oki... så loade / save filer udenfor en jar... må kunne lade sig gøre :)
Avatar billede arne_v Ekspert
21. januar 2004 - 20:42 #5
Selvfølgelig.

FileOutputStream og FileInputStream virker udmærket.
Avatar billede akjaer Nybegynder
21. januar 2004 - 20:43 #6
oki... kan du uddybe det lidt :)
Avatar billede akjaer Nybegynder
21. januar 2004 - 20:45 #7
desuden er det også vigtigt... hvordan man får jar-filen til at oprette filer udenfor en jar...
Avatar billede arne_v Ekspert
21. januar 2004 - 20:49 #8
jar-filen gør ikke noget.

jar-filen indeholder noget kode som gør noget.

spørger du efter hvordan man skriver og læser tekst filer i Java ?
Avatar billede akjaer Nybegynder
21. januar 2004 - 20:50 #9
nja... det virkede fint før vi smed filerne ind i en jar
Avatar billede arne_v Ekspert
21. januar 2004 - 20:52 #10
Kode som:

      PrintStream ps = new PrintStream(new FileOutputStream("C:\\test.txt"));
      ps.println("linie");
      ps.println("linie");
      ps.println("linie");
      ps.close();

og:

      BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("C:\\test.txt")));
      String line;
      while ((line = br.readLine()) != null) {
        // process line
      }
      br.close();

bør virke helt ens som .class og .jar !
Avatar billede arne_v Ekspert
21. januar 2004 - 22:05 #11
OK ?
Avatar billede akjaer Nybegynder
26. januar 2004 - 23:03 #12
vi fandt selv en løsning...
Avatar billede akjaer Nybegynder
26. januar 2004 - 23:03 #13
ellers tak for hjælpen :)
Avatar billede arne_v Ekspert
26. januar 2004 - 23:14 #14
Det er jo forbløffende som I selv kan finde løsninger efter at de er postet her.
Avatar billede eagleeye Praktikant
26. januar 2004 - 23:47 #15
akjaer >> Det er meget uhøfligt selv at tage point uden at du oplyser hvorden du har løst det. Det virker sjovt du selv har fundet svaret efter du har fået svar på spørgsmålene her!!.

Så opret et spørgsmål med point til arne_v, husk at linke til dette spørgsmål og omvendt.

eagleeye / CoAdmin
Avatar billede eagleeye Praktikant
30. januar 2004 - 19:57 #16
akjaer >> Vi mangler en kommentar fra dig.
eagleeye / CoAdmin
Avatar billede eagleeye Praktikant
08. februar 2004 - 01:05 #17
Ingen reaktion hverken her eller via mail, så 1. Advarsel for §2.6
eagleeye / CoAdmin
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
Kategori
Kurser inden for grundlæggende programmering

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