2008-11-11 4 views
1

J'ai un code qui réalise effectivement ceci:Java File.canWrite() sur Vista et les fichiers cachés super

File file = new File("C:\\Program Files (x86)\\Something\\fred.txt"); 
System.out.println("file.canWrite() = " + file.canWrite()); 

Il imprime vrai. Maintenant, la chose étrange est, je peux créer le fichier sans aucune exception. En outre, un autre programme peut lire le fichier que j'ai créé. La chose est, dans Windows Explorer, le fichier ne s'affiche pas du tout!

Afficher les fichiers cachés auxquels vous pensez peut-être, mais non, j'ai activé cette option.

J'ai aussi découvert des 'super fichiers cachés' dans Vista, j'ai donc activé cette option et je n'arrive toujours pas à voir le fichier! Peut-être que je n'ai pas édité mon registre correctement - je ne peux que supposer que le fichier est super caché - où d'autre pourrait-il être?

Maintenant, le problème est que je crée un fichier html et quand je lance un navigateur, il ne peut pas voir le fichier html parce qu'il est super caché.

Comment puis-je empêcher Java de créer un fichier super caché? Cela fonctionne sous JRE 6 mise à jour 6.

Répondre

9

Vous êtes probablement une "victime" de la redirection de dossiers. Lorsque l'UAC est activé, toute écriture dans Program Files est redirigée vers un autre emplacement lorsque vous n'exécutez pas le programme en tant qu'administrateur.

Vous devriez trouver votre fichier dans C: \ Users \ < nom d'utilisateur > \ AppData \ Local \ VirtualStore \ < insérer > \ <attendu> \ <chemin> \ <ici>.

La solution correcte, bien sûr, est de ne pas écrire dans les fichiers programme en premier lieu. Au lieu de cela, utilisez quelque part dans le répertoire personnel de l'utilisateur (l'emplacement exact que vous devez écrire dépend de l'objectif de l'application).

0

Je crois que la mise à jour 10 pourrait avoir changé ce comportement. Je sais que la plupart des choses du navigateur ont été réimplémentées pour mieux fonctionner avec Vista. Je ne suis pas sûr à 100% mais je vous suggère de jeter un oeil.

Questions connexes