Maison  >  Article  >  interface Web  >  Explication détaillée d'exemples de lecture et d'écriture de fichiers basés sur le module principal fs basé sur node.js

Explication détaillée d'exemples de lecture et d'écriture de fichiers basés sur le module principal fs basé sur node.js

巴扎黑
巴扎黑original
2017-09-11 09:47:361555parcourir

L'éditeur suivant vous proposera un article sur les opérations de lecture et d'écriture de fichiers du module principal fs basées sur node.js (explication avec exemples). L'éditeur pense que c'est plutôt bien, et maintenant je veux vous le donner et le donner comme référence. Suivons l'éditeur pour jeter un œil

module fs dans node.js

Fonctions couramment utilisées

Implémenter les fichiers Opérations de lecture et d'écriture de répertoire

- La synchronisation et l'asynchrone coexistent, l'asynchrone ne nécessite pas de synchronisation

- fs.readFile ne peut pas lire les fichiers plus grands que la mémoire en cours d'exécution, si le fichier est trop volumineux, la méthode readFile ne sera pas utilisée

- fichier grande lecture fractionnée, stream

- introduire le module fs

- laisser fs =require('fs')

Lire les fichiers de manière synchrone

-fs.readFileSync('path', utf8);

let result=fs.readFileSync('./1.txt','utf8');

Lire le fichier de manière asynchrone et capturer les erreurs avec le paramètre err

- fs.readFile('path','utf8',function(){})

fs.readFile('./name.txt','utf8',function ( err,data){
if(err){
console.log(err)
}else{
console.log(data)
}
})

Écrire des fichiers de manière synchrone

- fs.writeFileSync("chemin", données écrites)

fs. writeFileSync("./1.txt",JSON.stringify({name:1}))

Écrire le fichier de manière asynchrone

- fs.writeFile('chemin', données écrites, rappel)

fs.writeFile('./1.txt','aaaaa',function ( err) {
if(err){
console.log(err);
}
})

Lire et écrire des fichiers et écrire une instance de copie


let fs=require("fs");
//同步拷贝
function copySync(source,target){
//同步读取
let result=fs.readFileSync(source,'utf8');
//同步写入
fs.writeFileSync(target,result);
}
copySync("./age.txt",'./1.txt');

//Copie asynchrone


function copy(sourse,target,callback){
//异步读取
fs.readFile(sourse,'utf8',function(err,data){
if(err){
return callback(err)
}else{
//异步写入
fs.writeFile(target,data,callback)
}
});
};
copy('./name.txt','./ss.txt',function(err){
if(err) return console.log(err);
console.log('拷贝成功')
})

Déterminer si le fichier existe

- fs.existsSync('Chemin du fichier')

méthode stat

fs.stat('Chemin du fichier', fonction ( euh, stat) {

stat.isDirectory pour voir si c'est un dossier
stat.isFile pour voir si c'est un fichier

})

Supprimer le dossier

- fs.rmdir('folder path',function(){})

Supprimer le fichier

- fs.unlink('File Path ', function(){})

//Déterminer si le fichier existe


if(fs.existsSync('./b')){
fs.stat('./b',function (err,stat) {
//stat中的time是用来做服务器缓存
//stat.isDirectory看是不是文件夹 stat.isFile看是不是文件
if(stat.isDirectory()){
//删除文件夹
fs.rmdir('./b',function(){})
}else{
//删除文件
fs.unlink('./b',function(){});
}
})
}

Utiliser la récursivité pour écrire un dossier et le créer en séquence


function md(url) {
  let paths=url.split('/'); //将a/b/c拆分成数组['a','b','c']
  let index=0;
  function make(path){
    if(index===paths.length+1){ // 如果到终点,停止递归
      return false;
    }
    if(!fs.existsSync(path)){ //不存在
      //创建文件夹
      fs.mkdir(path,function () {
        make(paths.slice(0,++index).join('/'))
      })
    }else{ //存在
      make(paths.slice(0,++index).join('/'))
    }
  }
  make(paths[index++]) //先取出第一个
}
md('a/b/c/d');

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:
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