Newsgroup: it.comp.java
Titolo: Leggere file di testo

Ma con un'applet non è proprio possibile leggere un file di testo residente
sul server?
Mi sembra impossibile, cosa c'entra la sicurezza se vado a leggere un mio
file?
Potreste dirmi come fare per leggere un file di testo, per favore?
Grazie mille.

usare IE senza plug-in o firmare le applet o rinunciare!
Ciao.

 Ma con un'applet non č proprio possibile leggere un file di testo


Wise wrote:

Puoi provare con questa classe (a dire il vero la uso lato server per leggere
da altri web server, ma fintanto che apri una connessione col server da cui
l'applet è stata scaricata dovrebbe funzionare).
package 
com.threeamigos.util.net
;
import java.io.*;
import java.net.*;
import java.util.StringTokenizer;
import javax.servlet.http.HttpServletResponse;
/**
 * A Reader that fetches data from a file resident on a server.
 *
 * @author <a href="mailto:
srek...@sdb.it
">Stefano Reksten</a>
 * @version 1.0
 */
public class URLReader extends Reader {
  private static final String closedConnection = "Closed connection";
  private static final String fileNotFound = "File not found";
  private InputStream is;
  private int contentLength;
  /**
   * @param lock an Object to lock onto
   * @param fileURL the desired file's URL as a string
   */
  public URLReader(Object lock, String fileURL) throws FileNotFoundException {
    super(lock);
    _SURLReader(fileURL);
  }
  /**
   * @param fileURL the desired file's URL as a string
   */
  public URLReader(String fileURL) throws FileNotFoundException {
    super();
    _SURLReader(fileURL);
  }
  /**
   * @param lock an Object to lock onto
   * @param fileURL the desired file's URL
   */
  public URLReader(Object lock, URL fileURL) throws FileNotFoundException {
    super(lock);
    _URLReader(fileURL);
  }
  /**
   * @param fileURL the desired file's URL
   */
  public URLReader(URL fileURL) throws FileNotFoundException {
    super();
    _URLReader(fileURL);
  }
  /**
   * @param fileURL a string containing the file's URL, transformates it and
   *        loads _URLReader
   * @throws java.io.FileNotFoundException if the URL is invalid
   */
  private void _SURLReader(String fileURL) throws java.io.FileNotFoundException
{
    try {
      URL url = new URL(fileURL);
      _URLReader(url);
    } catch (MalformedURLException e) {
      throw new FileNotFoundException(e.getMessage());
    }
  }
  /**
   * @param url an url for the requested file, passes it to _URLReader
   * @throws java.io.FileNotFoundException if the URL is invalid or wrong
   */
  private void _URLReader(URL url) throws java.io.FileNotFoundException {
    try {
      URLConnection urlConnection = url.openConnection();
      String serverReply = urlConnection.getHeaderField(null);
      StringTokenizer st = new StringTokenizer(serverReply);
      st.nextToken();
      int replyCode = Integer.parseInt(st.nextToken());
      if (replyCode != HttpServletResponse.SC_OK && replyCode !=
HttpServletResponse.SC_CREATED)
        throw new FileNotFoundException(fileNotFound);
      is = urlConnection.getInputStream();
    } catch (Exception e) {
      throw new FileNotFoundException(e.getMessage());
    }
  }
  /**
   * Reads a bunch of bytes from the remote file's connection
   */
  public int read(char[] cbuff, int off, int len) throws NullPointerException,
IOException {
    if (is==null)
      throw new IOException(closedConnection);
    int b, n;
    for (n = 0; n < len; n++)
      if ((b=is.read())!=-1)
        cbuff[off+n] = (char)b;
      else
        break;
    return (n == 0 ? -1 : n);
  }
  /**
   * Closes the conection to the remote file and releases any system resource
   * associated with it
   */
  public void close() throws IOException {
    if (is==null)
      throw new IOException(closedConnection);
    is.close();
    is = null;
  }
  /*
  public static void main(String[] args) throws Exception {
    System.out.println("Come esempio leggero' il file
http://www.3am.it/config.txt
");
    BufferedReader b = new BufferedReader(new
URLReader("
http://www.3am.it/config.txt
"));
    String s;
    while ((s=b.readLine())!=null)
      System.out.println(s);
  }
  */
}
Ciao,
 Stefano
----------
"X WindowSSS, teSSSoro mio... lo odieremo per SSSempre"
Bill Gollum
----------

 Ciao.
Come si firma un'applet? (Mandatemi pure un link alle FAQ se c'è
qualcosa, e scusate se è già stata postata 2000 volte).

qualcosa, e scusate se è già stata postata 2000 volte).
http://groups.google.com
è tuo amico.
-- 
Ciao
	Fabrizio C.