Comment appliquer le droit de permission "read" sur un dossier?

mkodad -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je me demande, s'il vous plait, Comment peut on appliquer des droit de permissions par exemple le "read" sur un dossier en utilisatant une classe java sur Windows, et comment peut-on savoir si on a le droit de "read" sur un dossier ou pas?
Je dis bien "read"

J'ai testé avec canRead() et setReadable(true) fournit pas la classe "File" de "io" mais ça marche toujours pas!

le canRead() renvoie toujours true meme si on a pas le droit de Read sur le dossier

le setReadable(true) n'applique jamais le droit "read" sur un dossier

import java.io.File;

public class TestTest {
public static void main(String[] args) {
	File f = new File("D:/Test");
	if(f.canRead())
		System.out.println("OK => "+f.setWritable(true));
	else
		System.out.println("KO");
}
}


Y a t'il des solutions?

Merci d'avance pour vos aides!
A voir également:

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Le système de fichiers sous Windows est différent de celui d'Unix.

Les droits read/write/execute (rwx) sous Unix n'ont aucun sens sous Windows !
Java a vocation d'être compatible pour tous les systèmes d'exploitation, donc il propose ces méthodes au cas où on utilise le programme sous Unix, mais sous Windows il est normal qu'elles ne fonctionnent pas.

En fait il n'y a que le setWritable(false) qui fonctionne, puisqu'il correspond à mettre les fichiers en "lecture seule".

Remarque : les méthodes de manipulation de fichiers ont été revues dans la version 7 de Java, et permettent de faire plus de choses (manipulation de fichiers cachés, archivés, système, etc.). Lire : Managing Metadata (File and File Store Attributes)
0