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

Fermé
mkodad - 27 févr. 2013 à 23:24
KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 - 28 févr. 2013 à 08:45
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 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 3 020
28 févr. 2013 à 08:45
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