Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# écrire dans un fichier

Envoyé par : Utilisateur anonyme

Date : 25/05/2004 23:28

Bonjour, Finallement je pense m'y prendre autrement pour résoudre mon pb précédent. J'ai donc essayé de faire un script pour écrire dans un fichier mais celui-ci me renvoie une erreur :

uncaught exception: [Exception... "Component returned failure code: 0x80520015 (NS_ERROR_FILE_ACCESS_DENIED) [nsIFileOutputStream.write]" nsresult: "0x80520015 (NS_ERROR_FILE_ACCESS_DENIED)" location: "JS frame :: file:///C:/write.htm :: writeTextFile :: line 18" data: no]

avec le code suivant :

<html>
<head>
<script>
function writeTextFile(aPath)
{
 if (! netscape.security.PrivilegeManager)  return null;
  netscape.security.PrivilegeManager
      .enablePrivilege("UniversalFileAccess UniversalXPConnect");

 var file=Components.classes["@mozilla.org/file/local;1"]
          .createInstance(Components.interfaces.nsILocalFile);
 file.initWithPath(aPath);

 var fileStream = Components.classes['@mozilla.org/network/file-output-stream;1']
                        .createInstance(Components.interfaces.nsIFileOutputStream);
 var str="test";
 fileStream.init(file, 1, 0, false);
 fileStream.write(str,4);
 fileStream.close();
}
writeTextFile("c:\\fichier.xml");
</script>
</head>
<body>
</body>
</hml>

Si je pouvais comprendre pourquoi ça serait bien aussi. Pour info mon script dans dans une simple page sur C: tout comme le fichier xml.

# Re: écrire dans un fichier

Envoyé par : Pinaraf

Date : 26/05/2004 17:53

Au lieu d'utiliser C:\fichier.xml, tu ne peux pas utiliser fichier.xml tout court ? Comme ça, c'est standard !

# Re: écrire dans un fichier

Envoyé par : Julien Appert

Date : 26/05/2004 20:23

Je sais pas vous mais moi il m'est impossible de lire cette discussion avec mozilla ou firefox : ça me fait une erreur de parsing xml. Suis obligé de venir sur IE...

S'il était possible de modifier le message pour enlever ce qui gène... Est-ce que c'est le fait qu'il y ait des balises html qu'il n'aime pas ?

# Re: écrire dans un fichier

Envoyé par : Pinaraf

Date : 26/05/2004 20:26

Y'a des erreurs dans le code qu'il a tapé : C'est au niveau de uncaught exception: nsIFileOutputStream.write" nsresult : y'a une "balise a" dans l'adresse d'une autre "balise a" d'où problème !

# Re: écrire dans un fichier

Envoyé par : Utilisateur anonyme

Date : 27/05/2004 03:22

Désolé je vois que mon message génère des erreurs, je ne pensais pas qu'il serait géré comme cela et je ne sais pas comment le modifier. Pour ce qui est de mon pb en fait j'ai trouvé, c'est ma méthode init qui n'avait pas de bons paramètres, avec le code : fileStream.init(file, 0x20 | 0x02, 777, null); Je peux écrire comme je veux dans mon fichier :)

# Re: écrire dans un fichier

Envoyé par : laurentj

Date : 27/05/2004 11:32

Pour les erreurs d'affichage, j'ai corrigé.

Pour afficher du code, il faut preceder chaque ligne d'un espace. Et en fait, il y avait des [\]. Or il s'agit de tags wiki. Ils ont donc été interpreté.. J'ai modifié pour que cela ne soit plus interpreté dans les sources de code.

# Re: écrire dans un fichier

Envoyé par : Julien Appert

Date : 27/05/2004 14:24

Il y a du mieux, j'accès à la page avec mozilla. Par contre elle fait boguer firefox, mais d'une manière différente. Maintenant quand je clique sur le lien pour lire la discussion, ça plante : il ne se passe plus rien...

# Re: écrire dans un fichier

Envoyé par : Utilisateur anonyme

Date : 27/05/2004 20:49

Mouais maintenant ça fait planté, désolé. Laurentj si ça t'arranges je t'autorise à supprimer complétement mon message, vu que j'ai trouvé ma réponse en plus ... Ca serait bien par contre d'indiqué les règles à respecter lors de la publication pour éviter à nouveau ce genre de pb. En tout cas le site est très intéressant et m'a pas mal aidé, et j'espère que de plus en plus de gens vont venir sur ce forum.

# Re: écrire dans un fichier

Envoyé par : laurentj

Date : 29/05/2004 10:05

Les régles à respecter sont écrits juste en dessous ;-)

Pour le problème, j'ai pu détecter d'où il venait. Apparement, Mozilla n'aime pas les balise <pre> sur une seule ligne avec un style CSS overflow:auto; :-/. J'ai corrigé de façon à ce que lorsque vous affichez du code, une ligne supplémentaire s'affiche.

# Re: écrire dans un fichier

Envoyé par : Utilisateur anonyme

Date : 29/05/2004 13:32

Ok merci laurentj,

Désolé pour les règles j'avais pas fait descendre mon ascenseur asez bas.

# Re: écrire dans un fichier

Envoyé par : Utilisateur anonyme

Date : 15/06/2004 06:04

Pour répondre à ta question, je pense que ton problême vient simplement d'un probleme de droits, et ce n'est pas ton enablePrivilege qui te les donneras.

Ton script ne doit pas etre lancé dans le bon environnement Essais de faire la même chose dans un chrome.

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.