Bonjour,

  je ne comprends pas le comportement de la m�thode canWrite() de la 
classe File avec le dossier C:\\program Files

 

  new File("C:\\Program files").exists()  me renvoie true

  new File("C:\\Program files").canWrite()  me renvoie false

et pourtant  la commande suivant fonctionne

  new File("C:\\Program files\\Mon Programme").mkdirs()


J'ai fait plusieurs tests sous Win98 avec les jdk1.3.1 et 1.4 avec le 
fichier essai.java  ci-joint (creation d'un dossier "essai 1" dans 
C:\\Program Files)


 DENIGER Frederic


 import java.io.File;
 
public class essai{
  
  public static void test(File f)
  {
    System.out.println("\nTests sur le fichier "+f);
    if( f.exists()) System.out.println("\til existe");
    else System.out.println("\tN'EXISTE PAS");
    if( f.canWrite()) System.out.println("\tecriture possible");
    else System.out.println("\tEcriture impossible");
  }
  public static void main(String[] args) {
  
  test(new File("C:\\Mes documents"));
  test(new File("C:\\Program files"));
  System.out.println("\necriture sur C:\\Program files");
  File essai=new File("C:\\Program files\\essai 1");
  essai.mkdirs();
  test(essai);
  
 
  }
}

Répondre à