webForumDet fria alternativet

Jarfil som innehåller textfil

3 svar · 454 visningar · startad av jthunders

jthundersMedlem sedan sep. 20062 inlägg
#1

Jag försökte göra en jarfil där jag använder tre classfiler och en textfil för att lagra data i, Men det gick inte så bra för jarfilen startade inte. Är det något speciellt man måste skriva i koden innan man skapar en jarfil som innehåller en textfil?

LimeMedlem sedan sep. 2001961 inlägg
#2

Hur hämtar du upp din textfil?

Edit... Äh, jag förtydligar direkt istället.

Normalt när någon börjar med programmering så tenderar personen att vilja peka ut resurser hårt genom att antingen ge hela sökvägen (t.ex. D:\Java\Demo\HalloWorld\hej.gif) eller relativt (t.ex. .\hej.gif).

Det funkar inte när man sedan packar ner det i en jarfil. För att få tag på t.ex. hej.gif från en JAR-fil så gör man såhär:

   // Hämta klassladdaren
   ClassLoader cl = this.getClass().getClassLoader(); 
   // Skapa bilderna 
   Icon saveIcon  = new ImageIcon(cl.getResource("bilder/hej.gif")); 
   Icon cutIcon   = new ImageIcon(cl.getResource("bilder/hejdå.gif")); 
   ...

Exemplet förutsätter att du har skapat en JAR-fil där bilderna finns i katalogen bilder.

Exemplet är mer eller mindre "lånat" från Sun för att användas i den Java-kurs jag är lärare i. Se http://java.sun.com/j2se/1.5.0/docs/guide/javaws/developersguide/development.html#retrieving

jthundersMedlem sedan sep. 20062 inlägg
#3

har testat använda ClassLoader verkar även funka på txt men av nån anledning vägrar jar filen starta.

så här ser koden ut:

String filnamn = "Filnamn.txt";
ClassLoader cl = ClassLoader.getSystemClassLoader();

rintWriter ufil;
ufil = new PrintWriter(new BufferedWriter(new FileWriter (cl.getResource(filnamn).getFile())));

LimeMedlem sedan sep. 2001961 inlägg
#4

Då kommer nästa sak i alltihopa. Jag antar att du har en klass som har en Main-metod? Denna klass ska du peka ut i något som kallas för Manifest. Det är en fil som kan innehålla en massa saker men framför allt en rad som det står "Main-Class: <vilken klass som ska startas>"

Se http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/jar.html

http://www.captain.at/programming/java/executable-java-application.php har en ganska bra beskrivning också.

145 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
142 ms — hämta tråd, inlägg och bilagor (db)