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

Répondre à