Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [JAVA EE] Leggere un file di testo

    Salve,
    avevo creato un progetto in JAVA SE ed una classe riusciva a leggere il contenuto di un file di testo "config.ini" senza problema.

    Poi sono passato alla JAVA EE (Enterprise Edition) e ho direttamente copiato tutte le classi utilizzate nel precedente progetto.

    Funziona tutto.
    Tranne la lettura del file "config.ini", infatti il programma mi restituisce un errore quando prova a leggere questo file:

    java.io.FileNotFoundException: config.ini (Impossibile trovare il file specificato)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.jav a:106)


    Il codice che utilizzavo iniziava così:
    codice:
    File f = new File("config.ini"); 
    FileInputStream fis = new FileInputStream(f); [...]
    e poi leggeva correttamente il contenuto del file.

    Come faccio a far leggere un file di testo in JAVA EE?
    Dove devo mettere il file? In quale cartella?
    Che URL/indirizzo devo usare nella classe?


    Aggiungo che utilizzo NetBeans + Apache Tomcat 6.0.20, se può servire.

    Grazie 1000 a chiunque riesca a darmi una mano
    Aurelio M.
    Webmaster (php, mysql, flash, grafica, etc.)
    webmaster@88mhzlab.it - http://www.88mhzlab.it
    pixel747.blogspot.com

  2. #2
    Premesso che un moderatore sposterà la discussione nella sezione apposita, potresti provare a leggere qui:

    http://www.mrwebmaster.it/java/artic...-java_809.html


    Ciao

  3. #3
    ciao!

    nel link che mi hai postato compare:

    codice:
        File doc=new File("C:/doc.txt");
       URL path=null;
      
        [...]
          path=doc.toURL(); 
        [...]
          doc=new File(path.getFile());
    Ma in questo caso viene inserito un percorso locale (C:/...) mentre a me serve un percorso di riferimento per il server e sopratutto sapere dove mettere il file
    Aurelio M.
    Webmaster (php, mysql, flash, grafica, etc.)
    webmaster@88mhzlab.it - http://www.88mhzlab.it
    pixel747.blogspot.com

  4. #4
    Avevo capito che il problema risiedeva nelle librerie utilizzate, e NON dal percorso del file: dal tuo primo post si capisce che, lo stesso codice, in JSE funzionava mentre con JEE dava i problemi che hai sottolineato.
    Quindi non è un problema di percorso file..

  5. #5
    tranquillo, almeno hai provato a darmi una mano

    invece credo che il problema sia il percorso perchè come errore non trova il file
    Aurelio M.
    Webmaster (php, mysql, flash, grafica, etc.)
    webmaster@88mhzlab.it - http://www.88mhzlab.it
    pixel747.blogspot.com

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    esiste il file al path specificato? come costruisci il path?

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Originariamente inviato da maverick5
    1) Come faccio a far leggere un file di testo in JAVA EE?
    2) Dove devo mettere il file? In quale cartella?
    3) Che URL/indirizzo devo usare nella classe?
    1) Esattamente come in JavaSE. JavaEE è solo un'insieme di librerie e framework che si aggiungono a JavaSE. JavaEE non funziona senza JavaSE.

    2) Dove ti pare, basta che sia coscente del fatto che per raggiungere quel file devi dargli un percorso (assoluto o relativo alla document base del tuo progetto e non relativo alla directory corrente, come stai cercando di fare). Usi Tomcat, quindi immagino che si tratti di una WebApp (con le Servlet). In questo caso, un posto "furbo" potrebbe essere la cartella WEB-INF contenuta all'interno della document base.

    3) Dipende da dove hai posizionato il file. Se decidi di inserire il file nella directory WEB-INF, puoi costruire il percorso in questo modo:

    codice:
    // Ottieni un riferimento al ServletContext
    ServletContext sc = ...;
    
    FileInputStream fis = new FileInputStream( sc.getResourceAsStream("/WEB-INF/config.ini") );
    
    // Usi il FileInputStream
    Ovviamente tutto dipente da quali oggetti hai a disposizione... non avendo detto nulla di ciò che stai facendo si va a tentoni...


    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

  8. #8
    Originariamente inviato da valia
    esiste il file al path specificato? come costruisci il path?
    il problema è proprio questo:
    non so quale sia il path e dove mettere il file.

    Non riesco nemmeno a caricare un file di testo dalla servlet, anche qui stesso problema.
    Aurelio M.
    Webmaster (php, mysql, flash, grafica, etc.)
    webmaster@88mhzlab.it - http://www.88mhzlab.it
    pixel747.blogspot.com

  9. #9
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Originariamente inviato da maverick5
    il problema è proprio questo:
    non so quale sia il path e dove mettere il file.

    Non riesco nemmeno a caricare un file di testo dalla servlet, anche qui stesso problema.
    Bene... ora sappiamo almeno che hai una Servlet.

    Vedi il mio post precedente. Per ottenere il ServletContext, dalla Servlet hai il metodo getServletConfig().getServletContext().


    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

  10. #10
    Ho risolto.

    Ho inserito
    String path = getServletContext().getRealPath("/");
    File f = new File(path + "config.ini").

    E ho messo il file config.ini direttamente nella cartella contenente le pagine web (in NetBeans è di default la cartella \web).

    Ringrazio Mde2005, valia e leleft per l' aiuto e per la disponibilità, quando avete bisogno voi fate un fischio e spero di poter essere utile anch'io
    Aurelio M.
    Webmaster (php, mysql, flash, grafica, etc.)
    webmaster@88mhzlab.it - http://www.88mhzlab.it
    pixel747.blogspot.com

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 © 2024 vBulletin Solutions, Inc. All rights reserved.