[Java lista] txt-file from jar-file

Keresztes József jkeresztes at vati.hu
2007. Jan. 7., V, 20:31:23 CET


Hi !
 
Köszi, műxik, most így használom windows-on és ok:
 
  InputStream is = 
    getClass().getClassLoader().getResourceAsStream("documentation/doc.txt");

Joe

________________________________

Feladó: javalist-bounces at javagrund.hu meghatalmazó: Legéndi Richárd Olivér
Küldve: 07-01-07, V 10:53
Címzett: javalist at javagrund.hu
Tárgy: Re: [Java lista] txt-file from jar-file



Szia!

Hát, ez egy elvileg egyszerűen megoldható probléma, de én eddig mindig
csak szívtam vele :-)
Szóval hívsz egy sima

        getClass().getClassLoader().getResource("/doc.txt"); -t (v.
getResourceAsStream-et).

Az a bajom vele, hogy valahogy soha nem sikerült normálisan megcsinálni
a dolgot, hogy platformtól függetlenül működjön, hol így megy, hogy úgy.
Néha kell a ClassLoader, néha a class.getResource is működik, néha nem
kell a String elejére a "/", hogy megtalálja a jar gyökerében lévő cuccokat,
néha igen, stb.

A képekkel ugyanez a problémám, elvileg az ImageIcon is tudja ezt, ha
"/" jellel kezded a nevet, csak ez pl. Win-en nem működik nekem, Linux alatt
meg simán ;]

Persze nyilván csak én vagyok a béna, és még nem jöttem rá a trükkre
:-))) (vagy lehet, hogy csak le kéne végre ülnom egyszer elolvasni a
doksikat ;] )

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class JarReader {
    public static void main(String[] args) {
        BufferedReader br = null;
      
        try {
            br = new BufferedReader(
                    new InputStreamReader(
                           
JarReader.class.getClassLoader().getResourceAsStream("doc.txt")
                    )
            );
          
            while ( br.ready() ) {
                String line = br.readLine();
                System.out.println( line );
            }
          
        } catch (IOException ioe) {
            ioe.printStackTrace();
          
        } finally {
            if ( br != null ) {
                try { br.close(); } catch (Exception e) {
e.printStackTrace(); }
            }
        }
      
    }
}

Én mindenesetre azt ajánlanám, hogy inkább tedd a jar mellé egy
könyvtárba az ilyen resource-okat, azzal nincsenek ilyen problémák.

Ricsi

Keresztes József wrote:
> Sziasztok !
> 
> Szerintetek hogy lehetne azt megcsinálni egy sima java application
> esetében
> hogy van egy jar-file amit futtatok, és amelyben szerepel egy
> documentation.txt (ez lenne a programhoz tartozó dokumentáció), s a
> program futás közben kiszedné a jar-ból ezt a txt-t és beolvasná(a
> tartalmát megjelenítené) ?
> 
> Vagy inkább a programhoz tartozó dokumentáció legyen teljesen külön a
> jar-tól mert abból túl macerás kiszedni ?
> 
> Egyébként hasonló kérdés előfordulhat úgy is hogy a jar-ban image-ek
> vannak (gif,jpg), amiket pl. nyomógombokra szeretnénk rátenni, ezt is
> valahogy ki kellene túrni a jar-ból futás közben...
> 
> Joe

_______________________________________________
Javalist mailing list
Javalist at javagrund.hu
http://javagrund.hu/mailman/listinfo/javalist




--------- következő rész ---------
Egy nem text típusú csatolt állomány át lett konvertálva...
Név: nem elérhető
Típus: application/ms-tnef
Méret: 8088 bytes
Leírás: nem elérhető
Url : http://javagrund.hu/pipermail/javalist/attachments/20070107/d89f91d0/attachment.bin 


További információk a(z) Javalist levelezőlistáról