Newsgroup: it.comp.java
Titolo: Ho bisogno di una funzione che restituisce il testo contenuto in un file.............

Ho bisogno di una funzione che restituisca come stringa il contenuto di un
file testuale. Purtroppo conosco bene javascript, ma non posso dire la
stessa cosa di java.
Notare che la detta funzione deve essere messa in un applet, e deve (se
possibile) leggere (NON SCRIVERE, che ci vogliono le autorizzazioni, ecc.)
un file txt sul server (nella stessa dir della pagina html contenente
l'applet........................)..............
Ringrazio anticipatamente quanti risponderanno..........
--
bye by Neo
webm@ster de "La homepage di Neo"
http://web.tiscalinet.it/neowebpage
_________________________________

Ciao Daniele,  certo che sei proprio fortunato... ho recuperato dai
meandri dei mio HD una cosuccia che 
avevo fatto tempo fa, ovviamente è grezza ma fa quello che vuoi tu.
scrivi il nome del file, premi il bottone ed il contenuto del file, se
esiste, ti appare sotto
Contento?
Se hai problemi dimmelo
Ciao
Marco
------------------------------------
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.net.*;
import java.io.*;
import javax.swing.*;
public class Applet2 extends Applet {
  boolean isStandalone = false;
  //JFrame f=new JFrame("Applet");
  Panel panel1 = new Panel();
  BorderLayout borderLayout1 = new BorderLayout();
  TextField textField1 = new TextField();
  FlowLayout flowLayout1 = new FlowLayout();
  TextArea textArea1 = new TextArea();
  Button button1 = new Button();
  URL appletURL;
  Label label1 = new Label();
  //Get a parameter value
  public String getParameter(String key, String def) {
    return isStandalone ? System.getProperty(key, def) :
      (getParameter(key) != null ? getParameter(key) : def);
  }
  public static void main (String arg[]) {
    Applet2 myApplet = new Applet2();
  }
  //Construct the applet
  public Applet2() {
/*
    init();
    f.getContentPane().add(panel1);
    f.setSize(400,400);
    f.setVisible(true);
    //start();
    */
  }
  //Initialize the applet
  public void init() {
    try  {
      jbInit();
      //appletURL=new URL(this.getDocumentBase(),"");
      //this.showStatus("URL "+appletURL+" istanziato con successo!");
    }
    catch (MalformedURLException mue) {
      this.showStatus("Eccezione: "+ mue.toString());
    }
    catch(Exception e)  {
      e.printStackTrace();
    }
  }
  //Component initialization
  private void jbInit() throws Exception {
    this.setSize(new Dimension(400,300));
    this.setLayout(borderLayout1);
    panel1.setLayout(flowLayout1);
    textArea1.setColumns(50);
    textArea1.setRows(12);
    button1.setLabel("Visualizza il file");
    button1.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        button1_actionPerformed(e);
      }
    });
    textField1.setColumns(10);
    label1.setText("Nome file");
    //f.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    this.add(panel1, BorderLayout.CENTER);
    panel1.add(label1, null);
    panel1.add(textField1, null);
    panel1.add(button1, null);
    panel1.add(textArea1, null);
  }
  //Start the applet
  public void start() {
  }
  //Stop the applet
  public void stop() {
    //Chiudere gli stream
  }
  //Destroy the applet
  public void destroy() {
  }
  void button1_actionPerformed(ActionEvent e) {
  URL fileURL;
  String riga;
  InputStream URLStream;
  BufferedReader URLReader;
  URLConnection fileURLConn;
    if (!textField1.getText().equals("")) {
      //cerco di aprire la connessione al file specificato
      appletURL=this.getDocumentBase();
      myPrintln(appletURL.toString());
      try {
        fileURL=new
URL(appletURL.getProtocol(),appletURL.getHost(),appletURL.getPort(),"/"+textField1.getText());
        myPrintln(fileURL.toString());
        fileURLConn=fileURL.openConnection();
        URLStream = fileURLConn.getInputStream();
        if (fileURLConn.getContentType().equals("text/html")) {
          this.getAppletContext().showDocument(fileURL);
        } else {
          //Costruisco un Buffered Reader basato sullo Stream
          URLReader = new BufferedReader(new
InputStreamReader(URLStream));
          //leggo linea per linea e la copio nella text area
          textArea1.setText("");
          do {
            riga=URLReader.readLine();
            textArea1.append(riga+"\n");
          } while (riga.length()>0);
        }
      } catch (IOException ioe) {
        showErrorMessage("Il file -"+ textField1.getText()+"- non
esiste!\n");
      }
    }
  }
  void showHTMLErrorMessage (String s, URL aURL) {
    try {
        URL errorURL=new
URL("http",aURL.getHost(),aURL.getPort(),"/error.html");
        URLConnection eConn= errorURL.openConnection();
        eConn.setDoOutput(true);
        BufferedWriter outWriter = new BufferedWriter(new
OutputStreamWriter(new FileOutputStream("error.html")));
        outWriter.write(s);
        outWriter.newLine();
        outWriter.flush();
        outWriter.close();
        this.getAppletContext().showDocument(errorURL);
    } catch (Exception ioe) {
      showErrorMessage("Impossibile creare il messaggio d'errore in
formato HTML!\n"+ioe);
      textArea1.append("\n"+ListDir());
    }
  }
  private String ListDir() {
    File f=new File(".");
    String[] nomi=null;
    nomi=f.list();
    String testo="";
    for (int i=0; i<nomi.length;i++) {
      testo.concat(nomi[i]+"\n");
    }
    return testo;
  }
  void showErrorMessage (String s) {
    textArea1.setText("Errore:\n\n");
    textArea1.setText(s);
  }
   void myPrintln(String s) {
    System.out.println(s);
   }
}
------------------------------------
"Daniele (Neo)" ha scritto:

-- 
         \\|//
        ( @ @ )
+----oOO--(_)--OOo----------[Dott. Marco Azzalini]-------------------+
|                                                                    |
|              Consulente Sviluppo Software & Networking             |
|                                                                    |
|  cell:03470846528  -  e-mail: 
marco.a...@libero.it
             |
|  Home Page: 
utenti.tripod.it/Marco_Azzalini
  - Spedia Code: 459755 |
+--------------------------------------------------------------------+
|Legge di Hofstadter:                                                |
|         ci vuole sempre piu' tempo di quanto si pensi,             |
|         anche tenendo conto della Legge di Hofstadter.             |
+--------------------------------------------------------------------+

file testuale.
public static String getContents(java.net.URL url) 
   throws java.io.IOException {
 java.io.BufferedReader br = new java.io.BufferedReader(
   new java.io.InputStreamReader(url.openConnection().getInputStream())
 );
 StringBuffer sb = new StringBuffer();
 String line;
 while( (line=br.readLine()) != null) { sb.append(line); sb.append("\n"); }
 br.close();
 return sb.toString();
}
Nella stringa risultato le linee sono separate da un '\n'.
-- 
God is Real, unless declared Integer.
ObjectZone - 
http://space.tin.it/computer/csadun