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

    [java] servlet accesso a file

    ciao ho una servlet

    che deve leggere un file txt ed inserire il suo contenuto in una text area

    il problema e' che non riesco a leggere il file

    errore
    --------------------------------------------
    java.io.FileNotFoundException: Text_1.txt (The system cannot find the file specified)
    at java.io.FileInputStream.open(Native Method)
    --------------------------------------------


    lo messo in una cartella chiamata FILE alla stessa altezza dei file jsp e del WEB-INF


    credo che il mio problema e' scrivere il path di ricerca nel file java che dovrebbe leggere il file e scrivere il suo contenuto nella textarea



    porcacciala******** sono proprio un testone



    ciao a tutti
    in un aiuola di rose anche un cardo fa la sua bella figura

  2. #2

    RE

    secondo me non hai messo il try{ ..catch() etc..

    serve per vedere se ci sono errori, java necessita di ciò per lavorare con i file, se non dovesse essere all'interno di quest'ultimo fatti scrivere lo stack.

    scrivimi
    Andreaa00001@hotmail.com

  3. #3
    lo messo ho almeno penso di averlo fatto


    un altra idea e' che non configuro bene il file web.xml


    code:
    ----------------------------------------------
    package stampaFile;

    import java.io.*;
    import javax.print.*;
    import javax.print.attribute.*;
    import javax.print.attribute.standard.*;
    import javax.print.event.*;
    import javax.servlet.*;
    import javax.servlet.http.*;


    public class PrintPageTxt extends HttpServlet {

    public PrintPageTxt() {
    }
    public void doGet( HttpServletRequest request,
    HttpServletResponse response) throws IOException, ServletException {
    String file = request.getParameter("File");

    if(file==null || file.equals("")){
    response.setHeader("Pragma", "no-cache" );
    response.setHeader("Cache-Control", "no-cache" );
    RequestDispatcher rd;
    rd = request.getRequestDispatcher( "Errore.jsp" );
    rd.forward( request, response );
    return;
    }
    else{

    try {
    String fName = file;
    FileInputStream fis = new FileInputStream(fName);

    // apre il file
    InputStream is = new BufferedInputStream(fis);

    // cerca la stampante di default
    DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
    PrintService service = PrintServiceLookup.lookupDefaultPrintService();

    // crea la stampa
    DocPrintJob job = service.createPrintJob();
    Doc doc = new SimpleDoc(is, flavor, null);

    // stampa
    job.print(doc, null);

    // chiudo il flusso dei dati per sicurezza
    is.close();
    } catch (PrintException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    response.setHeader("Pragma", "no-cache" );
    response.setHeader("Cache-Control", "no-cache" );
    RequestDispatcher rd;
    rd = request.getRequestDispatcher( "Risultato.jsp" );
    rd.forward( request, response );
    }
    }
    -------------------------------------------


    ciao
    in un aiuola di rose anche un cardo fa la sua bella figura

  4. #4
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Ciao. Ma devi far eseguire un upload? Nel senso che la riga di codice seguente:
    String file = request.getParameter("File");

    ti deve dare solo il nome del file, giusto? Ma sul lato server il file suddetto c'è? La JVM punterà sempre nella directory della tua web-app -> è quì che cercherà il file con quel dato nome. Se, poi, vuoi effettuare l'upload client -> server.... be' non ti basta una cosa del genere. A proposito tra domani e sabato darò 1 occhio al tuo codice che mi hai spedito
    Ciao
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  5. #5
    per spiegarmi meglio la mia pagina iniziale ha una select

    dove io passo il valore (nome del file) al programma questo legge il nome del file con
    (String file = request.getParameter("File");

    a questo punto se il nome del file non e' vuoto ("") o nullo (null)

    lui dovrebbe leggerne il contenuto
    (String fName = file;
    FileInputStream fis = new FileInputStream(fName);
    // apre il file
    InputStream is = new BufferedInputStream(fis);

    il problema e' alla riga
    FileInputStream fis = new FileInputStream(fName);
    dove mi da l' errore
    java.io.FileNotFoundException: Text_1.txt (The system cannot find the file specified)
    at java.io.FileInputStream.open(Native Method)


    il file e' sul lato server e deve rimanerci non voglio che venga caricato sul lato client

    questo file e' nella cartella \StampaFileJsp\FILE
    nella cartella \Webapps di Tomcat

    struttura:
    webapps-|
    ---------------| StampaFileJsp-|
    ------------------------------| WEB-INF-|
    ------------------------------|--------------- |classes-|
    ------------------------------|FILE-|-------------------- |stampaFile-|
    ------------------------------|------- |Text_1.txt----------------------- |PrintText.class
    ------------------------------|Index.jsp
    ------------------------------|Errore.jsp
    ------------------------------|Risultato.jsp


    che path devo mettere per fare in modo che mi venga letto il File Text_1.txt dal mio programma???
    in un aiuola di rose anche un cardo fa la sua bella figura

  6. #6
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    String openFile="FILE/"+file;

    FileInputStream fis = new FileInputStream(openFile);

    Non l'ho provato ma ad occhio dovrebbe andare bene.. prova. Ciao
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  7. #7


    purtroppo non funziona nemmeno cosi


    ed era una soluzione che avevo gia provato

    comunque ti ringrazio
    in un aiuola di rose anche un cardo fa la sua bella figura

  8. #8
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Ciao allora potresti provare a dargli il path assoluto e cioè:

    String file = request.getParameter("File");

    String openFile="c:/file/"+file;

    FileInputStream fis = new FileInputStream(openFile);

    ovviamente in c dovresti avere 1 cartella di nome file
    così dovrebbe andare
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  9. #9
    scusa ma il mio file deve essere sul client o sul server???


    da quello che leggo tu lo vuoi mettere sul client

    io invece lo volevo sul server


    oppure non ho capito una mazza come al solito
    in un aiuola di rose anche un cardo fa la sua bella figura

  10. #10
    :98
    in un aiuola di rose anche un cardo fa la sua bella figura

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.