Le 17 Apr 2002 Frans VAN ROY a �crit :
>
> import java.io.*;
>
> public class Test {
> public static void main (String[] args) {
> File f=new File("titi");
> System.out.println(f.getAbsolutePath());
> }
> }
>
> j'obtiens "c:\eclipse\titi" � l'ex�cution. J'avoue que je m'attendais
> plus � une r�ponse du type "c:\eclipse\workspace\test\titi", vu que
> mon test.java se trouve lui-m�me dans "c:\eclipse\workspace\test".
>
> Quelqu'un pourrait-il m'expliquer le pourquoi de la chose?!
>
D'apr�s ton code le fichier "titi" n'existe pas : new File("titi") ne
fait que cr�er un objet de classe File d�signant un fichier nom� titi
qui n'existe pas. Pour qu'il existe, soit tu le cr�es par ailleurs,
soit il faut utiliser createNewFile(), ou un FileOutputStream/Writer.
Quand le fichier d�sign� par l'objet de clase File n'existe pas, pour
faire rapide, getAbsolutePath renvoie le repertoire courant + le nom
du fichier. Le r�pertoire courant est d�sign� par la propri�t�
"user.dir".
Donc, dans ton cas, le user.dir serait "c:\eclipse". Si tu travailles
avec eclipse, ce n'est pas trop surprenant.
De toutes fa�ons cela n'a jamais aucun rapport avec l'endroit o� se
trouve ton fichier source. Cela pourrait avoir un rapport avec
l'endroit o� se trouve ta classe, il faudrait alors utiliser la
notion de ressource, et il faudrait que tu utilises les m�thodes de
la famille Class.getResource(...).
A+.
--
Sur le Web, tout de suite.
Herve AGNOUX - diaam informatique
http://www.diaam-informatique.com