Applet Java, lire un fichier .txt [java.policy&security access denied]

Applet Java, lire un fichier .txt [java.policy&security access denied] - Java - Programmation

Marsh Posté le 01-07-2004 à 11:10:48    

Bonjour, je suis en train de dévelloper une Applet Java qui devra lire des fichiers texte. L'applet et les page HTML l'appellant seront sur un CD-ROM dont l'arboressance est la suivante:

+---collections
+---data
+---ihm
+---objets

Les données (des fichiers txt) sont dans data, l'applet se trouve dans le répertoire IHM, les classes fesant la lecture des fichiers se trouve dans collections. Ces accès se font de la manière suivante:

BufferedReader(new FileReader(fichier));

Voilà l'erreur que j'ai lorsque je lis l'applet avec IE/Mozilla, Erreur que je n'ai pas en utilisant l'appletViewer

java.security.AccessControlException: access denied (java.io.FilePermission data\EPCI.txt read)
 
 at java.security.AccessControlContext.checkPermission(Unknown Source)
 
 at java.security.AccessController.checkPermission(Unknown Source)
 
 at java.lang.SecurityManager.checkPermission(Unknown Source)
 
 at java.lang.SecurityManager.checkRead(Unknown Source)
 
 at java.io.FileInputStream.<init>(Unknown Source)
 
 at java.io.FileInputStream.<init>(Unknown Source)
 
 at java.io.FileReader.<init>(Unknown Source)
 
 at collections.EpciCollector.<init>(EpciCollector.java:33)
 
 at ihm.epci.AppletEpci.init(AppletEpci.java:31)
 
 at sun.applet.AppletPanel.run(Unknown Source)
 
 at java.lang.Thread.run(Unknown Source)

Merci pour votre aide!


Message édité par Aurelienazerty le 01-07-2004 à 11:12:16

---------------
http://lan.team-azerty.com, LAN fun en Rhône-Alpes
Reply

Marsh Posté le 01-07-2004 à 11:10:48   

Reply

Marsh Posté le 01-07-2004 à 11:29:47    

Ben les applets sont soumises a beuacoup de restrictions, notamment sur la lecture de fichiers.
Peut etre que la politique de securite est differente entre l'appletviewer et Mozilla ?


---------------
Light is right
Reply

Marsh Posté le 01-07-2004 à 11:32:57    

Possible, mais dans ce cas, celà risque de m'embéter beaucoup! Car je n'ai pas trop le choix...
J'ai entendus parler de java.policy pour des problèmes de sécurité, mais je n'ai aucune idée de ce à quoi ça sert, ni comment s'en servir, ni si ça peut régler mon problème...


---------------
http://lan.team-azerty.com, LAN fun en Rhône-Alpes
Reply

Marsh Posté le 01-07-2004 à 11:46:47    

aurelienazerty a écrit :

Possible, mais dans ce cas, celà risque de m'embéter beaucoup! Car je n'ai pas trop le choix...
J'ai entendus parler de java.policy pour des problèmes de sécurité, mais je n'ai aucune idée de ce à quoi ça sert, ni comment s'en servir, ni si ça peut régler mon problème...


 
Comme son nom l'indique, c'est pour définir une politique de sécurité au niveau de la JVM.
 
va voir dans <JAVA_HOME>\jre\lib\security\* pour avoir une idée
 
Mais tu ne pourras jamais changer la politique de sécurité au niveau d'une JVM depuis ton applet ou même un programme externe. C''est fait pour.
 
Essaye de mettre tes fichiers texte dans un jar signé et de les charger comme des resources. Ca marchera peut-être.

Reply

Marsh Posté le 01-07-2004 à 11:49:16    

Je vais voir ça. il faudrait que cette solution fonctionne sur les postes clients, car là je ne pourrais pas modifier quoi que ce soit...


---------------
http://lan.team-azerty.com, LAN fun en Rhône-Alpes
Reply

Marsh Posté le 02-07-2004 à 15:06:46    

J'ai posté ici: http://www.team-azerty.com/forum/viewtopic.php?t=779
on m'a proposé de mettre dans un jar ou bien d'utiliser un InputStreamReader sur mon  fichier... Mais ça ne marche pas top, j'ai dut mal m'y prendre... Une aide serait là le bienvenus. Merci  :jap:


---------------
http://lan.team-azerty.com, LAN fun en Rhône-Alpes
Reply

Marsh Posté le 02-07-2004 à 15:35:45    

C'est bon, j'ai trouvé ma solution CF ici
Merci à tous!


Message édité par Aurelienazerty le 02-07-2004 à 15:36:00

---------------
http://lan.team-azerty.com, LAN fun en Rhône-Alpes
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed