Maison interface Web js tutoriel Opérations du système de fichiers Node.js

Opérations du système de fichiers Node.js

Apr 18, 2018 pm 03:16 PM
javascript node.js 操作

Cette fois, je vais vous présenter le fonctionnement du système de fichiers Node.js, quelles sont les précautions pour le fonctionnement du système de fichiers Node.js, ce qui suit est un cas pratique, prenons un regarder.

1. Méthodes synchrones et méthodes asynchrones

Dans Node.js, utilisez le module fs pour implémenter toutes les opérations associées de création, d'écriture et de suppression de fichiers et de répertoires. , dans le module fs, toutes les opérations sur les fichiers et répertoires peuvent utiliser des méthodes synchrones et asynchrones. La différence entre les deux est la suivante : la méthode de synchronisation renvoie le résultat de l'opération immédiatement et le code suivant ne peut pas être exécuté avant que l'opération effectuée à l'aide de la méthode de synchronisation ne soit terminée. Le code est similaire au suivant :

Var fs = require('fs')
var data = fs.readFileSysnc('./index.html','utf8')
//等待操作返回结果,然后利用该结果
console.log(data)
Copier après la connexion

. La méthode asynchrone renvoie le résultat de l'opération en paramètre de la fonction de rappel Après l'appel de la méthode, le code suivant peut être exécuté immédiatement :

var fs = require('fs')
fs.readFile('./index.html','utf8'.function(err,data){
  //操作结果作为回调函数的第二个参数返回
  console.log(data)
})
Copier après la connexion

. De plus, lorsque plusieurs méthodes asynchrones sont appelées à l'aide de la méthode présentée ci-dessous, l'ordre de retour des résultats de l'opération n'est pas garanti

fs.readFile('./file.html',function(err,data){
  //回调函数代码
  })
fs.readFile('./otrher.html',function(err,data){
  //回调函数代码
  })
Copier après la connexion

Dans le code ci-dessus, nous effectuons des opérations de lecture sur deux fichiers en même temps, mais nous ne garantissons pas quel résultat de l'opération est renvoyé en premier. Si nous voulons nous assurer que deux fichiers sont lus après la lecture d'une citation, nous devons utiliser la méthode suivante :

fs.readFileSync('./file.html',function(err,data){
  //回调函数代码
  })
fs.readFileSync('./otrher.html',function(err,data){
  //回调函数代码
  })
Copier après la connexion

2. Effectuez des opérations de lecture et d'écriture sur les fichiers

2.1 Lecture et écriture complètes des fichiers

Vous pouvez utiliser la méthode readFile ou la méthode readFileSync pour lire un fichier dans son intégralité :

fs.readFile(filename,[options],callback)
//第一个参数:必选指定读取文件的完整文件路径及文件名
第二个参数:指定读取文件时需要使用的选项,在该参数值对象中可以使用flag属性指定对该文件采取什么操作,默认为‘r'
option:
  flag'r':读取文件,如果文件不存在则抛出异常
    'r+':读取并写入文件,如果文件不存在则抛出异常
    'rs':以同步方式读取文件并通知操作系统忽略本地文件系统缓存,如果文件不存在则抛出异常。因为本属性值忽略本地缓存,适用于操作网络文件系统,但由于其对性能产生一定的负面影响,不建议在其他环境下使用
    'w':写入文件,如果文件不存在则创建文件,如果文件存在则清空文件内容
    'wx':作用与'w'类似,但以排他方式写入文件
    'w+':读取并写入文件。如果不存在则创建文件,如果该文件已存在则清空文件内容       
    'wx+':作用与'w+'类似,但是以排他方式写入文件       
    'a':追加写入文件,如果文件不存在则创建文件
    'ax':作用与'a+'类似,但是以排他方式打开文件
  encoding:
    utf8,ascii,base64,
callback(err,data){
  //回调函数代码略
}
//第一个参数为读取文件操作失败时触发的错误对象
第二个参数值为读取到的文件内容
Copier après la connexion

Lors de la lecture d'un fichier en utilisant la méthode synchrone, utilisez la méthode readFileSync :

var data = fs.readFileSync(filename,[options])
Copier après la connexion

par exemple :

var fs = require('fs')
try{
  var data = fs.readFileSync('./text.txt','utf8')
  //在控制台中输出文件内容
  console.log(data) 
}catch(ex){
  console.log('读取文件时发生错误')
}
Copier après la connexion

Lors de l'écriture complète d'un fichier, utilisez la méthode writeFile ou la méthode writeFileSync dans le module fs

fs.writeFile(filename,datda,[options],callback)
//第一个参数:用于指定被写入文件的完整文件路径及文件名
第二个参数:用于指定需要写入的内容,参会素可以为一个字符串或一个Buffer对象
第三个参数:指定写入文件时需要的选项
    flag属性:用于指定该文件采用何种操作,默认为'w'
    mode属性:指定当文件被打开时对文件的读写权限,默认为0666(可读写),第一位必须为0,第二位用于规定文件或目录所有者的权限,第三位为文件或目录所属用户组的权限,第四位为其他用户权限
      1:执行权限
      2:写权限
      4:读权限
    encoding属性:指定使用何种编码格式来写入文件,:utf8 ascii base64
    
callback(err){
  //回调函数代码
}
Copier après la connexion

Lors de l'écriture de fichiers de manière synchrone, utilisez la méthode writeFileSync :

fs.writeFileSync(filename,data,[options])
Copier après la connexion

Lorsque vous ajoutez une chaîne ou des données dans un tampon au bas d'un fichier, vous pouvez utiliser la méthode appendFile ou appendFildSync dans le module fs

fs.appendFile(filname,data,[options],callback)
fs.appendFileSync(filename,data[options])
Copier après la connexion

2.2 Commencez à lire et à écrire des fichiers à partir de l'emplacement spécifié

Tout d'abord, vous devez utiliser la méthode open ou la méthode openSync dans le module fs pour ouvrir le fichier,

fs.open(filename,flags,[mode],callback)
其中callback参数为:function(err,fd){
            //回调函数代码
          }
//第一个参数为打开文件操作失败时所触发的错误对象,
第二个参数为一个整数值,代表打开文件时返回的文件描述符
Copier après la connexion

Lors de l'ouverture d'un fichier de manière synchrone, utilisez la méthode openSync :

var fd = fs.openSync(filename,flag,[mode])
Copier après la connexion

Après avoir ouvert le fichier, vous pouvez utiliser la méthode read ou la méthode readSync dans le module fs dans la fonction de rappel pour lire le fichier à partir de l'emplacement spécifié du fichier, ou vous pouvez utiliser la méthode write ou la méthode writeSync dans le module fs pour démarrer écrire à partir de l'emplacement spécifié du fichier Data

Présentez d'abord la méthode de lecture :

fs.read(fd,buffer,offset,length,position,callback)
//第一个参数:open方法所所使用的回调函数中返回的文件描述符或openSync方法返回的文件描述符;
第二个参数:英语指定将文件数据读取到哪个缓存区;
第三个参数:整数,用于指定向缓存区中写入数据时的开始位置,以字节为单位
第四个参数:整数,指定从文件中读取的字节数
第五个参数:整数,指定读取文件时开始位置
callback(err,bytesRead,buffer){
  //回调函数代码
}
err:读取文件操作失败时触发的错误对象
bytesRead实际读取的字节数
buffer:被读取的缓存区对象
Copier après la connexion

Lors de l'ouverture d'un fichier de manière synchrone, utilisez la méthode readSync :

var byteRead = fs.readSync(fd,buffer,offset,length,position)
Copier après la connexion

Après avoir ouvert le fichier, utilisez la méthode write ou la méthode writeSync dans le module fs pour lire les données d'un tampon et commencer à ingérer les données à partir du point spécifié dans le fichier

fs.write(fd,buffer,offset,length,position,callback)
  其中callback为function(err,written,buffer){
            //回调函数代码
        }
eg:
 1 var fs = require('fs')
 2 var buf = new Buffer('我喜欢编程')
 3 fs.open('./message.txt','w',function(err,fd){
 4     fs.write(fd,buf,3,9,0,function(err,written,buffer){
 5         if(err)console.log("写文件操作失败")
 6         console.log("写文件操作成功")
 7     })
 8 })
Copier après la connexion

Lors de l'écriture de fichiers de manière synchrone, utilisez la méthode writeSync

fs.writeSync(fd,buffer,offset,length,position)
Copier après la connexion

Dans le module fs, utilisez la méthode close et la méthode closeSync pour fermer le fichier

fs.close(fd,[callbcak])
fs.closeSync(fd)
Copier après la connexion

Avant d'appeler la méthode close, vous pouvez utiliser la méthode fsyn pour écrire tout le contenu de la zone tampon dans le fichier afin d'éviter les données manquantes

fs.fsyn(fd,[callback])
Copier après la connexion

Veuillez faire attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Combinaison de balises HTML avec des nœuds DOM


Résumé de la conversion de type implicite JS


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Tutoriel d'utilisation de PyCharm : vous guide en détail pour exécuter l'opération Tutoriel d'utilisation de PyCharm : vous guide en détail pour exécuter l'opération Feb 26, 2024 pm 05:51 PM

PyCharm est un environnement de développement intégré (IDE) Python très populaire. Il fournit une multitude de fonctions et d'outils pour rendre le développement Python plus efficace et plus pratique. Cet article vous présentera les méthodes de fonctionnement de base de PyCharm et fournira des exemples de code spécifiques pour aider les lecteurs à démarrer rapidement et à maîtriser l'utilisation de l'outil. 1. Téléchargez et installez PyCharm Tout d'abord, nous devons nous rendre sur le site officiel de PyCharm (https://www.jetbrains.com/pyc

Qu'est-ce que sudo et pourquoi est-ce important ? Qu'est-ce que sudo et pourquoi est-ce important ? Feb 21, 2024 pm 07:01 PM

sudo (exécution du superutilisateur) est une commande clé dans les systèmes Linux et Unix qui permet aux utilisateurs ordinaires d'exécuter des commandes spécifiques avec les privilèges root. La fonction de sudo se reflète principalement dans les aspects suivants : Fournir un contrôle des autorisations : sudo réalise un contrôle strict sur les ressources système et les opérations sensibles en autorisant les utilisateurs à obtenir temporairement les autorisations de superutilisateur. Les utilisateurs ordinaires ne peuvent obtenir des privilèges temporaires via sudo qu'en cas de besoin et n'ont pas besoin de se connecter en permanence en tant que superutilisateur. Sécurité améliorée : en utilisant sudo, vous pouvez éviter d'utiliser le compte root lors des opérations de routine. L'utilisation du compte root pour toutes les opérations peut entraîner des dommages inattendus au système, car toute opération incorrecte ou imprudente bénéficiera de toutes les autorisations. et

Étapes et précautions de fonctionnement de Linux Deploy Étapes et précautions de fonctionnement de Linux Deploy Mar 14, 2024 pm 03:03 PM

Étapes de fonctionnement et précautions de LinuxDeploy LinuxDeploy est un outil puissant qui peut aider les utilisateurs à déployer rapidement diverses distributions Linux sur des appareils Android, permettant aux utilisateurs de découvrir un système Linux complet sur leurs appareils mobiles. Cet article présentera en détail les étapes de fonctionnement et les précautions de LinuxDeploy et fournira des exemples de code spécifiques pour aider les lecteurs à mieux utiliser cet outil. Étapes de l'opération : Installer LinuxDeploy : Tout d'abord, installez

Que faire si vous oubliez d'appuyer sur F2 pour le mot de passe de démarrage Win10 Que faire si vous oubliez d'appuyer sur F2 pour le mot de passe de démarrage Win10 Feb 28, 2024 am 08:31 AM

Vraisemblablement, de nombreux utilisateurs ont plusieurs ordinateurs inutilisés à la maison et ont complètement oublié le mot de passe de mise sous tension car ils n'ont pas été utilisés depuis longtemps. Ils aimeraient donc savoir quoi faire s'ils oublient le mot de passe ? Alors jetons un coup d’œil ensemble. Que faire si vous oubliez d'appuyer sur F2 pour le mot de passe de démarrage Win10 ? 1. Appuyez sur le bouton d'alimentation de l'ordinateur, puis appuyez sur F2 lorsque vous allumez l'ordinateur (différentes marques d'ordinateurs ont des boutons différents pour accéder au BIOS). 2. Dans l'interface du BIOS, recherchez l'option de sécurité (l'emplacement peut être différent selon les marques d'ordinateurs). Habituellement dans le menu des paramètres en haut. 3. Recherchez ensuite l’option SupervisorPassword et cliquez dessus. 4. À ce stade, l'utilisateur peut voir son mot de passe, et en même temps trouver Activé à côté et le basculer sur Dis.

Partage des étapes d'opération de capture d'écran du Huawei Mate60 Pro Partage des étapes d'opération de capture d'écran du Huawei Mate60 Pro Mar 23, 2024 am 11:15 AM

Avec la popularité des smartphones, la fonction capture d’écran est devenue l’une des compétences essentielles pour l’utilisation quotidienne des téléphones portables. En tant que l'un des téléphones mobiles phares de Huawei, la fonction de capture d'écran du Huawei Mate60Pro a naturellement attiré beaucoup d'attention de la part des utilisateurs. Aujourd'hui, nous partagerons les étapes de capture d'écran du téléphone mobile Huawei Mate60Pro, afin que tout le monde puisse prendre des captures d'écran plus facilement. Tout d'abord, le téléphone mobile Huawei Mate60Pro propose une variété de méthodes de capture d'écran et vous pouvez choisir la méthode qui vous convient en fonction de vos habitudes personnelles. Ce qui suit est une introduction détaillée à plusieurs interceptions couramment utilisées :

Manipulation de chaînes PHP : un moyen pratique de supprimer efficacement les espaces Manipulation de chaînes PHP : un moyen pratique de supprimer efficacement les espaces Mar 24, 2024 am 11:45 AM

Opération de chaîne PHP : une méthode pratique pour supprimer efficacement les espaces Dans le développement PHP, vous rencontrez souvent des situations dans lesquelles vous devez supprimer des espaces d'une chaîne. La suppression des espaces peut rendre la chaîne plus propre et faciliter le traitement et l'affichage ultérieurs des données. Cet article présentera plusieurs méthodes efficaces et pratiques pour supprimer des espaces et joindra des exemples de code spécifiques. Méthode 1 : utilisez la fonction intégrée PHP trim() La fonction intégrée PHP trim() peut supprimer les espaces aux deux extrémités de la chaîne (y compris les espaces, les tabulations, les nouvelles lignes, etc.), ce qui est très pratique et simple. utiliser.

Comment lier WeChat sur Ele.me Comment lier WeChat sur Ele.me Apr 01, 2024 pm 03:46 PM

Ele.me est un logiciel qui rassemble une variété de spécialités différentes. Vous pouvez choisir et passer une commande en ligne immédiatement après avoir reçu la commande. Les utilisateurs peuvent lier WeChat via le logiciel si vous souhaitez connaître le détail. méthode de fonctionnement, n'oubliez pas de consulter le site Web PHP chinois. Instructions pour lier WeChat à Ele.me : 1. Ouvrez d'abord le logiciel Ele.me, et après être entré dans la page d'accueil, nous cliquons sur [Mon] dans le coin inférieur droit. 2. Ensuite, dans la page Ma, nous devons cliquer ; [Compte] dans le coin supérieur gauche ; 3. Accédez ensuite à la page d'informations personnelles où nous pouvons lier les téléphones mobiles, WeChat, Alipay et Taobao. 4. Après le dernier clic, sélectionnez le compte WeChat. qui doit être lié à la page d'autorisation WeChat et cliquez simplement sur [Autoriser] ;

Tutoriel PHP PDO : Un guide avancé des bases à la maîtrise Tutoriel PHP PDO : Un guide avancé des bases à la maîtrise Feb 19, 2024 pm 06:30 PM

1. Introduction à PDO PDO est une bibliothèque d'extension de PHP, qui fournit une manière orientée objet d'exploiter la base de données. PDO prend en charge une variété de bases de données, notamment Mysql, postgresql, Oracle, SQLServer, etc. PDO permet aux développeurs d'utiliser une API unifiée pour exploiter différentes bases de données, ce qui permet aux développeurs de basculer facilement entre différentes bases de données. 2. PDO se connecte à la base de données Pour utiliser PDO pour vous connecter à la base de données, vous devez d'abord créer un objet PDO. Le constructeur de l'objet PDO reçoit trois paramètres : type de base de données, nom d'hôte, nom d'utilisateur de la base de données et mot de passe. Par exemple, le code suivant crée un objet qui se connecte à une base de données MySQL : $dsn="mysq

See all articles