Newsgroup: it.comp.java
Titolo: Creare un file in un posto specifico..

Salve ragazzi,
avrei un quesito da chiedervi.
Ho realizzato un'applicazione in jsf e tra le mie pagine c'è un'applet
che crea e scarica un file temporaneo sul pc durante la sua esecuzione.
Quello che mi interessa è appoggiare questo file in una cartella temp
del root dell'applicazione.
Nella mia applicazione, usando nel bean
w = new FileWriter("temp.txt");
mi creo il temp.txt nella cartella predefinita di eclipse.
Io vorrei crearlo nella cartella Workspace\WebApp\temp
come devo fare a passargli questo percorso?La cosa importante è che
non devo passargli un percorso assoluto perchè potrebbe dover girare
su altri pc.Mi interessa che individui la cartella temp
dell'applicazione su cui gira l'applet.
Vi ringrazio anticipatamente

 che crea e scarica un file temporaneo sul pc durante la sua esecuzione.
File temporaneo ? 
http://javaalmanac.com/egs/java.io/CreateTempFile.html
-- 
Giambo - Occhio al filtro antispam _e_ alla whitelist !

grazie Giambo,
quello che mi serve ora è però capire come gestire i percorsi.
Se io creo un file,come faccio a crearlo nella cartella della mia
applicazione?Come faccio a metterlo in quella cartella
indipendentemente dalla parte iniziale del suo percorso assoluto?
Spero di essere stato chiaro,se hai idee..

daniele wrote:

Quel che non mi e' chiaro e' se il file viene creato dall'applet (E 
quindi sul client) o dalla tua "applicazione" (Quindi sul server).


ecco come funziona la cosa.
Un utente(client) si collega al server,visualizza alcuni files presenti
nel db del server, ne seleziona uno e lancia un metodo che crea
un'intestazione a questo file, generando un nuovo file (sempre sul
server). Viene lanciata l'applet che prende questo file e lo plotta.
Il file è quindi generato sul server.Quello che voglio è , nella
funzione che crea l'intestazione e la salva in un file, riuscire a
fargli creare il file nella cartella in cui risiede l'applicazione.
E' possibile?
Cioè se  sul server l'applicazione è in docum&sett\workspace\test
vorrei che il file fosse creato in docum&sett\workspace\test, senza
specificare io il percorso nella funzione.
Come posso fare?
Spero di essere stato chiaro ,ti prego aiutami

 Come posso fare?
Probabilmente ServletContext.getRealPath(...): 
http://java.sun.com/j2ee/1.4/docs/api/javax/servlet/ServletContext.html#getRealPath(java.lang.String)
Resto comunque dell'opinione che la soluzione migliore sia usare files 
temporanei o (Meglio) non usarli del tutto.


 grazie dei consigli Giambo,
mi sarei orientato verso i file temporanei ma...
try {
        // Create temp file.
        File temp = File.createTempFile("prova", ".txt");
        // Write to temp file
        BufferedWriter out = new BufferedWriter(new FileWriterrtemp));
        out.write("aString");
        out.close();
    } catch (IOException e) {
    }
dopo l'esecuzione del metodo
ho provato a cercare il file prova.txt ma non lo trovo!!!!Perchè?Ho
eliminato DeleteOnExit, quindi non dovrebbe essere visibile?

 ho provato a cercare il file prova.txt ma non lo trovo!!!!Perchč?
Perche' non esiste: "Creates a new empty file in the specified 
directory, using the given prefix and suffix strings to generate its name."
Il metodo crea un file con il prefisso "prova" e il suffisso ".txt", in 
mezzo la JVM ci aggiunge dei caratteri per garantirne l'unicita'.
