Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Trasportarsi un file nel jar

    Non sono molto lucido attualmente, quindi il titolo può essere un pò fuorviante.

    ho un file txt con tutti i codici erariali (quelli per generare un codice fiscale).
    Ora dove mi consigliate di metterlo per renderlo utilizzabile dal mio software senza installazioni?

    Volevo crearlo al volo, ma mi supera il limite dei 64k di codice per la singola classe. Ora, se lo metto all'interno del jar, magari nella sottocartella src/file/codici.txt posso accederci oppure poi devo "estrarlo" nel path per eseguirlo?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Inseriscilo all'interno di una delle cartelle dei package... ad esempio, crea un "package" resources e ci infili dentro il TXT.

    Poi potrai usare getResource() / getResourceAsStream() per recuperarne il contenuto.

    Vedi qui per ulteriori informazioni in merito.

    Io solitamento creo un "sottopackage" resources laddove mi serve avere un file di risorse.

    Ad esempio, se devo leggere il TXT dalla classe it.pippo.Pippo, creo un package it.pippo.resources e dentro ci metto il TXT.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    io ho creato una cartella file dentro il package src, e di solito carico tutto facendo così:

    BufferedReader reader = new BufferedReader(new FileReader(getClass().getResource("/images/codiciErariali.txt").getFile()));



    per le immagini funziona, ma per questo MALEDETTO txt no.
    O meglio, se lo uso all'interno dell'editor, tutto bene, ma se lo uso nel jar no. però le immagini che hanno lo stesso path e le stesse caratteristiche funzionano. ora mi guardo un pòil link, grazie.

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Originariamente inviato da franksisca
    io ho creato una cartella file dentro il package src, e di solito carico tutto facendo così:

    BufferedReader reader = new BufferedReader(new FileReader(getClass().getResource("/images/codiciErariali.txt").getFile()));



    per le immagini funziona, ma per questo MALEDETTO txt no.
    O meglio, se lo uso all'interno dell'editor, tutto bene, ma se lo uso nel jar no. però le immagini che hanno lo stesso path e le stesse caratteristiche funzionano. ora mi guardo un pòil link, grazie.
    FileReader prende un oggetto File come parametro del suo costruttore... ma questo deve essere un File fisico. Tu non hai un file fisico, hai una risorsa.

    Quindi devi ottenere un InputStream tramite getResourceAsStream(), passare questo stream ad un InputStreamReader e con quest'ultimo oggetto costruire il tuo FileReader (se necessario) oppure ad un BufferedReader.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    quindi teoricamente così

    codice:
    InputStreamReader isr = new InputStreamReader(getClass().getResourceAsStream("images/codici.txt"));
    BufferedReader reader = new BufferedReader(isr);
    dovrebbe funzionare....ma invece no.

  6. #6
    mancava la "/" proima di images...risolto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.