Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

UTILISATION DES FICHIERS EN JAVASCRIPT


Information sur le tutorial

Catégorie :Tutoriaux Date de création : 02/03/2007 20:23:12 Vu : 16 658 fois

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (15)
Ajouter un commentaire et/ou une note


Description

Comment créer, ecrire et supprimer un fichier ?

Tutorial

Partie 1 : Objets

L'objet ActiveX qui permet d'utiliser les fichiers est l'objet Scripting.FileSystemObject.
var fso=new ActiveXObject("Scripting.FileSystemObject");

Partie 2 : Créer un fichier

La méthode qui permet de créer un fichier est la méthode CreateTextFile.
fso.CreateTextFile("Nom du fichier.extension",true);
>>Le deuxième argument précise si on veut écraser le fichier déja présent sous le meme nom s'il existe.

Partie 3 : Utiliser un fichier

La méthode qui permet d'ouvrir un fichier est la méthode OpenTextFile.
var otf=fso.OpenTextFile("Nom du fichier.extension",1 ,true);
>>Le deuxième argument précise le type d'ouverture : 1-Ouverture en lecture ; 2-Réecriture ; 8-Ecriture a la suite.
>>Le troisième argument précise de créer (true) ou non (false) le fichier s'il n'existe pas.

Partie 3.1 : Ecrire dans un fichier

La méthode qui permet d'écrire dans un fichier est la méthode Write ou WriteLine.
otf.Write("Texte à marquer");
otf.WriteLine("Ligne à marquer");
>>Remarque : la méthode WriteLine marque le texte entré en argument et lui rajoute un saut de ligne.
>>Remarque : le fichier doit d'abord être ouvert en réecriture ou en écriture a la suite (2 ou 8).

Partie 3.2 : Lire un fichier

La méthode qui permet de lire un fichier est la méthode Read ou ReadAll.
otf.Read(9);
otf.ReadAll();
>>Remarque : Le fichier doit être ouvert en mode lecture.
>>Remarque : la méthode Read lit le nombre de caractère entré en argument.
>>Remarque : la méthode ReadAll lit tout le fichier.

Partie 3.3 : Fermer un fichier

La méthode qui permet de fermer un fichier est la méthode Close.
otf.Close();

Partie 4 : Supprimer un fichier

La méthode qui permet de supprimer un fichier est la méthode DeleteFile.
fso.DeleteFile("Nom du fichier.extension");

Partie 5 : Exemples

var fso=new ActiveXObject("Scripting.FileSystemObject"); //Système de fichier.
fso.CreateTextFile("fichier1.txt",true); //Création du fichier "fichier1.txt" avec ecrasement.
var otf=fso.OpenTextFile("fichier1.txt", 8 ,true); //Ouverture du fichier "fichier1.txt" en mode écriture a la suite.
otf.WriteLine("Bonjour."); //Ecriture de la ligne "Bonjour.".
otf.Write("Coucou"); //Ecriture de "Coucou".
otf.Close(); //Fermeture du fichier "fichier1.txt".
otf=fso.OpenTextFile("fichier1.txt"1 ,false); //Ouverture du fichier "fichier1.txt" en mode lecture.
alert(otf.Read(7)); //Lecture des 7 premiers caractères ("Bonjour.").
alert(otf.ReadAll()); //Lecture de tout le fichier ("Bonjour.\nCoucou").
otf.Close(); //Fermeture du fichier "fichier1.txt".
fso.DeleteFile("fichier1.txt"); //Suppression du fichier "fichier1.txt".

Pour plus d'informations allez voir le site de bultez : http://marcel-bultez.chez-alice.fr/documents/SupportsRepertoiresFichiers.htm

 

Tutorial ecrit par stfou



signaler à un administrateur
Commentaire de olbouss le 12/03/2007 12:04:37


J'essaye avec IE7 sur windows XP SP2, mais ça ne marche pas. : Erreur javascript "Un composant activeX ne peut pas créer d'objet"

Existent t'il d'autres possibilité pourr mlire et écrire des fichiers avec javascript ?

signaler à un administrateur
Commentaire de pinacolada le 12/04/2007 22:55:31

Très bon cours, complet...
Une question : J'ai ouvert un fichier xml avec l'activeX qui le permet et utilisé (modifié) son contenu. Après rajout et suppression de noeuds, j'aimerais le sauvegarder mais la méthode 'save' de l'objet xml bloque (sécurité) alors que cette façon de créer des fichiers fonctionne sans pb (après avertissement : un activex essaie de... etc.).
Comment transférer le nouveau contenu de mon xml dans un nouveau fichier (ou sauvegarder dans le même) sans écrire une à une (même dans une boucle (for...in) tout mon fichier xml ?

signaler à un administrateur
Commentaire de dark vador 57 le 22/05/2007 14:44:26

J'ai la même erreur que olbouss et donc impossible d'utiliser ce système. Si jamais une autre solution existe ou s'il est possible de résoudre l'erreur activeX je suis preneur.

signaler à un administrateur
Commentaire de dark vador 57 le 22/05/2007 15:00:15

Désolé personnelement j'avais IE qui me bloqué ActiveX j'ai juste eu à modifier les paramètres de sécurité d'IE pour accepter les ActiveX non signés.

signaler à un administrateur
Commentaire de Cyreb le 06/01/2008 09:17:52

Au niveau de la securité de vos systeme, accepter n'importe quel activx me semble une démarche des plus hasardeuse, écrire des fichier, c'est aussi pouvoir en effacer, en modifier, generer du code dit malicieux
(les plus vieux d'entre vous se souviennent peut'etre d'iloveyou.vbs) les possibilité offerte par les script liés au activx sont énormes et seduisantes mais soyer prudent. conseil : N'ACCEPTEZ JAMAIS LES ACTIVX INCONNUS.

signaler à un administrateur
Commentaire de Darksheep le 21/03/2008 12:49:47

Mais où donc est créé le fichier ? moi ça fonctionne pourtant(messages bonjour, coucou) , même apres avoir supprimé la ligne : fso.DeleteFile("fichier1.txt"); //Suppression du fichier "fichier1.txt".
Je ne retrouve pas fichier1.txt à coté de ma page web !

signaler à un administrateur
Commentaire de Darksheep le 21/03/2008 12:54:36

Ok en fait sur IE fichier1.txt est créé sur le bureau, sur firefox ça ne fonctionne pas  :(

signaler à un administrateur
Commentaire de nicobsa le 22/06/2008 16:10:03

Bonjour, tout le monde, excusez moi de devoir vous poser cette question, mais, le code de l'exemple, il faut le mettre entre des balises "script" dans une page html, et c'est tout ? il n'y a rien d'autre à ajouter ?

Car je sèche un peu en fait,

j'ai d'abord tenté de l'ajouter à un .js et de lire le js, mais ca revient au meme

signaler à un administrateur
Commentaire de nicobsa le 22/06/2008 16:53:03

Non, en fait j'ai finalement trouvé comment faire..
Par contre j'aurais aimé connaitre la différence entre Write et WriteLine   car normalement le premier permet d'écrire des texte, mais pour les sauts de ligne, comment ca se passe ?

signaler à un administrateur
Commentaire de physiquantique le 27/06/2008 13:10:32

c'est étonnant , les fonctions utilisée dans la gestion des fichiers en vb sont proches de celles-ci ...
Mais n'y a t il pas de risques que les scripts soient bloqués par le systeme ?

signaler à un administrateur
Commentaire de dark vador 57 le 27/06/2008 19:57:08

En effet il y a vraiment beaucoup de risque que l'ActiveX soit bloqué par le navigateur.
Ces fonction sont très pratique mais je pense qu'elles sont uniquement utilisable dans un environnement où tu peut controler les poste utilisateur, un intranet d'une petite entreprise, dans ce cas tu pourra demandé à l'utilisateur d'activer les ActiveX sans craindre pour la sécurité. Dans les autres cas ils est recommandé d'interdire les ActiveX pour des raison évidente de sécurité.

signaler à un administrateur
Commentaire de zecreator le 20/08/2008 11:59:50

!!! ABSOLUMENT PAS SECURISE !!!

Il est grandement recommande de ne pas utiliser de composants ActiveX dans les sites web, surtout pour écrire sur la machine cliente.

1 - Pour une question évidente de sécurité.
2 - Pour ne pas fermer le site a uniquement IE et Windows
3 - Cela n'a aucun intérêt, puisque de toute façon il faudra que le visiteur accepte de baisser son niveau de securite web a quasiment 0% (plus de securite) pour pouvoir utiliser le site (y a que les dingues ou les ignorants qui peuvent faire cela).

Arretez donc d'utiliser des composants ActiveX dans les sites web, composants qui ne sont generalement pas maitrises du tout, et qui plantent le site ou la machine.

Zecreator

signaler à un administrateur
Commentaire de dark vador 57 le 20/08/2008 18:58:35

Je suis tout à fait d'accord dans le cas d'un site internet, par contre c'est le genre de fonction qui sont extrêmement pratique dans l'intranet d'une entreprise et c'est bien uniquement dans ce cas que je conseille d'utiler des ActiveX.

signaler à un administrateur
Commentaire de marcotte le 08/02/2009 05:03:06

Faire en sorte que le javascript puisse écrire/lire des fichiers sur le disque c'est n'importe quoi !
C'est la porte ouverte de votre pc à tous les vents mauvais d'internet.
Mais vraiment y a des naïfs^^

Sinon cela n'enlève rien à la qualité du tuto qui est très bien fait ;)

signaler à un administrateur
Commentaire de marcotte le 08/02/2009 05:10:24

J'ai vu en dernier moment ta réponse, c'est bien de préciser que c'est à réserver à un intranet, mais bon c'est en début de sujet qu'il faut le dire, je t'invite à le faire si c'est possible sinon tant pis^^
Pour ce qui est de l'intranet, si un code malveillant parvient à passer la sécurité d'entrée du réseau, il entrera facilement dans les pc qui ont diminué leur degré de sécurité pour accepter l'activeX.
J'en profite pour mettre une note à ton tuto, j'avais oublié :/

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version


LG KP501

Entre 9€ et 159€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,078 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.