Newsgroup: it.comp.java
Titolo: FileInputStream Su Applet

 Bye.
La sand-box di Java prevede che tu non possa aprire file da applet, se
vuoi leggere un file devi creare un oggetto di tipo URL con l'URL che
devi usare openConnection() e ricavare l'input stream. Ricorda che la
richiesta deve essere fatta al tuo server e a nessun altro... Altrimenti
beccherai un SecurityViolationException
-- Antonio Cisternino
______________________________________________________
Antonio Cisternino
WWW address: 
http://www.cli.di.unipi.it/~cisterni/
E-Mail: 
cist...@di.unipi.it

Antonio Cisternino (
cist...@di.unipi.it
) wrote:
: Di Perna Francesco wrote:
: >
: >
: > Ciao a tutti,
: > sono uno studente di Informatica, sto facendo un applet pero' ho un
: > piccolo problema: Si puo usare  FileInputStream per leggere un file di
: > testo sul server dove si trova l'Applet, non ci sono ancora riuscito.
: > Se qualcuno mi puo dare una mano, gli saro' grato.
: > Bye.
: La sand-box di Java prevede che tu non possa aprire file da applet, se
: vuoi leggere un file devi creare un oggetto di tipo URL con l'URL che
: devi usare openConnection() e ricavare l'input stream. Ricorda che la
: richiesta deve essere fatta al tuo server e a nessun altro... Altrimenti
: beccherai un SecurityViolationException
Tutto vero caro Antonio, ma gli potevi fornire uno straccio di codice,
che io allego al posto tuo:
/********** method receive **********/
  void receive() {
 
    String filetoread="/dati/pippo.txt"
    try {				
      URL datafile;			
      datafile = new URL(getDocumentBase(), filetoread);
      InputStream is;			
      is = datafile.openStream();
      DataInputStream dis;			
      dis = new DataInputStream(is);
      String rd_data;			
      while ((rd_data = dis.readLine()) != null) {
        <use rd_data>;	
      }
      dis.close();			
    }
    catch (MalformedURLException murle) {
      System.out.println("MalformedURLException [R] " + murle);
    }
    catch (IOException ioe) {
      System.out.println("IOException [R] " + ioe);
    }
  }
/********** method transmit **********/
  void transmit(String str) {
    String filetowrite = "write.cgi";
    try {				
      URL host;				
      host = new URL(getDocumentBase(), filetowrite);
      URLConnection connection;		
      connection = host.openConnection();
      connection.setDoInput(true);	
      connection.setDoOutput(true);	
      PrintStream outstream;	
      outstream = new PrintStream(connection.getOutputStream());
      String wr_data = URLEncoder.encode(str); // only if you are writing to a CGI
      outstream.print("data=" + wr_data);      
      outstream.close();		
      DataInputStream instream;		
      instream = new DataInputStream(connection.getInputStream());
      String readdata;			
      while ((readdata = instream.readLine()) != null) {
      }
      instream.close();				
    }
    catch (MalformedURLException murle) {
      System.out.println("MalformedURLException [T] " + murle);
    }
    catch (IOException ioe) {
      System.out.println("IOException [T] " + ioe);
    }
  }
ne...@cli.di.unipi.it

Messaggio a più sezioni in formato MIME.
------=_NextPart_000_01BA2C6F.45E15FE0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Ti rigrazio Igor ,mi sei stato di grande aiuto.
Approfitto della tua gentilezza per chiederti un'altra cosa.
Nel libro che sto' leggendo su Java ho letto che le Canvas sono come dei
pannelli su cui sopra si possono mettere delle foto, pero' non spiega come.
Questo perchè mi serve una superficie che faccia da cornice alla foto.
Cosa mi consigli?
Grazie ancora ciao,
mailto:
fdip...@webaq.it
http://www.webaq.it/~fdiperna
------=_NextPart_000_01BA2C6F.45E15FE0
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
<html><head></head><BODY bgcolor=3D"#FFFFFF"><p><font size=3D2 =
color=3D"#000000" face=3D"Arial"><br>Ti rigrazio Igor ,mi sei stato di =
grande aiuto.<br>Approfitto della tua gentilezza per chiederti un'altra =
cosa.<br>Nel libro che sto' leggendo su Java ho letto che le Canvas sono =
come dei pannelli su cui sopra si possono mettere delle foto, pero' non =
spiega come.<br>Questo perch=E8 mi serve una superficie che faccia da =
cornice alla foto.<br>Cosa mi consigli?<br><br>Grazie ancora =
ciao,<br><br><br>mailto:
fdip...@webaq.it
<br>
http://www.webaq.it/~fdipern=
a<br><br><br></p>
</font></body></html>
------=_NextPart_000_01BA2C6F.45E15FE0--