Come scrivere un file di testo da JSP

January 31

Come scrivere un file di testo da JSP


Scrivendo a un file di testo da JSP è altrettanto facile da fare in quanto è in Java. Con la corretta conoscenza delle classi e una chiara idea di ciò che si desidera in uscita, utilizzando JSP per scrivere un file di testo, non è un compito difficile.

istruzione

La scrittura di file standard

1 La classe FileOutputStream nel pacchetto java.io è il modo standard per scrivere i dati in un file nel sistema operativo. Il costruttore FileOutputStream (String name) creerà un nuovo FileOutputStream indicando il nome del file specificato dalla stringa. <br /> <br /> Esempio: <br /> <br /> FileOutputStream fos = new FileOutputStream (\ "/ var / log / mylog.txt \");

2 La classe PrintWriter standard nella confezione java.io fornisce il metodo più semplice da usare di scrivere righe di dati a un OutputStream. Il costruttore PrintWriter (OutputStream out) creerà un nuovo PrintWriter utilizzando l'apposita OutputStream. Combinate questo con il FileOutputStream come nel seguente esempio: <br /> <br /> FileOutputStream fos = new FileOutputStream (\ "/ var / log / mylog.txt \") <br /> <br /> GO PrintWriter pw = nuovo PrintWriter (FOS);

3 Per scrivere un dato di linea nel flusso di output, utilizzare il metodo println del PrintWriter (String x). Questo scriverà una spezzata terminata di dati al OutputStream <br /> <br /> Esempio:. <br /> <br /> FileOutputStream fos = new FileOutputStream (\ "/ var / log / mylog.txt \") <br /> <br /> GO PrintWriter pw = new PrintWriter (FOS) <br /> <br /> GO pw.println (\ "Questa è una riga di dati \");

4 Al termine la scrittura nel file, assicurarsi di chiudere sia il PrintWriter e gli oggetti FileOutputStream in modo che rilasciano le risorse associate con la scrittura al file <br /> <br /> Esempio:. <br /> <br /> FileOutputStream fos = new FileOutputStream (\ "/ var / log / mylog.txt \") <br /> <br /> GO PrintWriter pw = new PrintWriter (FOS) <br /> <br /> GO pw.println (\ " questa è una linea di dati \ ") <br /> <br /> GO pw.close () <br /> <br /> GO fos.close ();

Tecniche JSP-specifici

5 Per ottenere un percorso che è relativo all'applicazione Web corrente nel vostro contenitore JSP, utilizzare il ServletContext.getRealPath (String path) metodo <br /> <br /> Esempio:. <br /> <br /> String = real_filename contesto .getRealPath (\ "/ mylog.txt \");

6 Per incorporare la logica di scrivere su un file in una pagina JSP, avvolgere il codice Java in <% e%> e includere la direttiva di pagina per importare le

classi java.io. <br /> <br /> Esempio:. <Br /> <br /> <% @ page import = \ "java.io. \"%> <br /> <% <br /> try {<br /> String = real_filename context.getRealPath (\ "/ mylog. txt \ ") <br /> <br /> GO FileOutputStream fos = new FileOutputStream (real_filename) <br /> <br /> GO PrintWriter pw = new PrintWriter (FOS) <br /> <br /> GO pw.println (\ "Questa è una riga di dati \") <br /> <br /> GO pw.close () <br /> <br /> GO fos.close () <br /> <br /> GO} <br /> catch (Exception e) {// <br /> gestire le eccezioni <br /> <br />}%> <br /> <br /> Si noti il ​​blocco try ... catch che cattura eccezioni dal operazioni di I / O. Questo è necessario perché i metodi delle classi 'FileOutputStream e PrintWriter può generare un'eccezione.

7 Per scrivere un parametro passato alla pagina JSP con il (nome String) request.getParameter metodo nel file di testo, utilizzare il seguente esempio: <br /> <br /> <br /> <% @ page import = \ "java .io. * \ "%> <br /> <% <br /> try {<br /> String = real_filename context.getRealPath (\" / mylog.txt \ ") <br /> <br /> GO FileOutputStream fos = new FileOutputStream (real_filename) <br /> <br /> GO PrintWriter pw = new PrintWriter (FOS) <br /> <br /> GO pw.println (\ "Questa è una riga di dati \") <br /> <br /> GO pw.println (request.getParameter (\ "test \")) <br /> <br /> GO pw.close () <br /> <br /> GO fos.close () <br /> <br /> GO} <br /> catch (Exception e) {// <br /> gestire le eccezioni <br /> <br />}%>

Consigli e avvertenze

  • Considerare la cattura di specifiche eccezioni dai metodi di I / O, invece dell'eccezione generica. Ciò consentirà la gestione degli errori a grana fine.
  • Assicurarsi sempre di chiudere le istanze Writer e OutputStream dopo che sono stati utilizzati più.