Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    applet-scrittura dati su file

    quello che posto qui è una parte del codice di un'applet che, una volta firmata, crea sul client un file di testo "hello.txt" contenente la scritta "hello world!" (l'ho presa da una guida di questo sito, l'ho provata,firmata ed è funzionante):

    codice:
    public String createFile()
      {
        String strReturn ;
        String fileName = "";
        setBackground(Color.white);
        try
        {
          fileName = System.getProperty("user.home");
          fileName += System.getProperty("file.separator");
          fileName += "hello.txt";
          
          String msg = "Hello World\n";
      
          FileWriter fos = new FileWriter(fileName);
          fos.write(msg, 0, msg.length());
          fos.close();
          strReturn = new String("File " + fileName + " creato con successo");   
          }
        catch (Exception e)
        {
          System.out.println("Eccezione di tipo " + e);
          e.printStackTrace();
          strReturn = new String("Impossibile creare il file!");   
        }
        return strReturn;
      }
    ora, qulcuno mi può dare qualche dritta affinchè l'applet, nel file hello.txt, ci scriva il contenuto di un altro file di testo presente nel server anzichè la scritta hello world?

  2. #2
    questa in locale (facendola correre da Eclipse) funziona correttamente: in pratica legge il contenuto del file pesi.xml (che si trova nella cartella del progetto), mette tutto il contenuto del file in una stringa scrive la stringa nel file hello.xml, che a sua volta viene scritto nel mio HD.


    codice:
    import java.applet.Applet;
    import java.awt.Graphics;
    import java.io.*;
    import java.awt.Color;
    
    public class CopiaXML extends Applet
    {
      public String createFile()
      {
        String strReturn ;
        String fileName = "";
        setBackground(Color.white);
        int next;
        char nextc;
        try
        {
          fileName = System.getProperty("user.home");
          fileName += System.getProperty("file.separator");
          fileName += "hello.xml";
          String msg="";
          
          
           
              // apre il file in lettura
              FileReader filein = new FileReader("pesi.xml"); 
    
              
              do {
                  next = filein.read();  // legge il prossimo carattere
    
                  if (next != -1) {  // se non e' finito il file
                      nextc = (char) next; 
                     msg=msg+nextc;
                      //System.out.print(nextc);  // stampa il carattere
                  }
    
              } while (next != -1);
    
              filein.close();  //chiude il file
              System.out.println();
      
      
          FileWriter fos = new FileWriter(fileName);
          fos.write(msg, 0, msg.length());
          fos.close();
          strReturn = new String("File " + fileName + " creato con successo");   
          }
        catch (Exception e)
        {
          System.out.println("Eccezione di tipo " + e);
          e.printStackTrace();
          strReturn = new String("Impossibile creare il file!");   
        }
        return strReturn;
      } 
    }
    ora devo far funzionare online quest'applet,per cui ho messo tutti i file necessari nel server (compreso il file pesi.xml). Il problema è che, quando la faccio correre, mi trovo sulla console "FileNotFoundException: pesi.xml" ....ma il file c'è! è lì nella stessa cartella di tutti gli altri file...perchè non lo vede??

    ps.lasciamo perdere per ora il discorso che,per funzionare,l'applet dev'essere firmata....l'ho già firmata e il problema non credo riguardi questo...ho già fatto altre applet firmate e funzionano correttamente,solo che non dovevo leggere file dal server,a differenza di adesso.

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Chissà a che cosa corrisponde "user.home" nella versione online dell'applet... prova un po' a farti stampare quel valore.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  4. #4
    ho trovato un codice diverso e ho risolto con quello...grazie cmq


    "user.home", in linux è la directory home, e in windows xp corrisponde a c:\ documents and settings/user". ciao

  5. #5
    Utente di HTML.it L'avatar di morphy79
    Registrato dal
    Jun 2004
    Messaggi
    1,568
    e come hai risolto ? devo fare la stessa cosa !!!
    odio chi parla di politica..
    anzi vorrei fondare un partito contro tutto ciò

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Originariamente inviato da italo2008
    ho trovato un codice diverso e ho risolto con quello...grazie cmq


    "user.home", in linux è la directory home, e in windows xp corrisponde a c:\ documents and settings/user". ciao
    Questo lo sappiamo già... la domanda di Andrea era retorica: chi è l'utente "loggato" sul server web dove c'è il tuo sito? Risposta: l'utente associato al processo del webserver in esecuzione (Apache? IIS? Tomcat? Altro?)... ergo: quel codice non avrebbe potuto funzionare MAI.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Originariamente inviato da LeleFT
    Questo lo sappiamo già... la domanda di Andrea era retorica: chi è l'utente "loggato" sul server web dove c'è il tuo sito? Risposta: l'utente associato al processo del webserver in esecuzione (Apache? IIS? Tomcat? Altro?)... ergo: quel codice non avrebbe potuto funzionare MAI.


    Ciao.
    Mi quoto e mi correggo, stiamo parlando di Applet, non di codice lato server.
    L'applet viene eseguita in locale, quindi non troverà mai il file "pesi.xml" da leggere... perchè risiede sul server.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  8. #8
    morphy

    ho usato le librerie jdom e ho firmato l'applet...


    ciao

  9. #9
    Utente di HTML.it L'avatar di morphy79
    Registrato dal
    Jun 2004
    Messaggi
    1,568
    ah.. però è un problema per me.. se nel jar includo le jdom l'applet diventa lunga da caricare..
    odio chi parla di politica..
    anzi vorrei fondare un partito contro tutto ciò

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 © 2026 vBulletin Solutions, Inc. All rights reserved.