Maison  >  Article  >  interface Web  >  Parlons de la façon d'utiliser le nœud pour écrire et lire le contenu d'un fichier

Parlons de la façon d'utiliser le nœud pour écrire et lire le contenu d'un fichier

青灯夜游
青灯夜游avant
2022-12-22 20:58:102574parcourir

nodeComment effectuer des opérations de lecture et d'écriture ? L'article suivant vous présentera la méthode de base pour écrire et lire le contenu d'un fichier à l'aide de node.js. J'espère qu'il vous sera utile !

Parlons de la façon d'utiliser le nœud pour écrire et lire le contenu d'un fichier

Node.js est un environnement d'exécution JavaScript basé sur le moteur Chrome V8. 【Tutoriels associés recommandés : Tutoriel vidéo Nodejs, Enseignement de la programmation

Parlons de la façon dutiliser le nœud pour écrire et lire le contenu dun fichier

Différencier les numéros de version

LTS est une version stable à long terme, il est recommandé d'installer la version LTS de Node .js. Current est une version d'essai des nouvelles fonctionnalités. Pour les étudiants qui souhaitent essayer de nouvelles fonctionnalités, il est recommandé d'installer la version actuelle de Node.js.

Lire le contenu du fichier

Utilisez readFile pour lire le contenu du fichier

L'échec de la lecture est un objet d'erreur

En cas de succès, il n'est pas défini

// 1.导入fs模块,操作文件
const fs = require('fs');
// 2.调用readFile() 方法 来读取文件
// 第一个参数是被读取文件的路径
// 第二个参数是编码格式
// 第三个参数是回调函数,拿到读取成功(dataStr)或者是失败的结果 (err)
fs.readFile('./file/01.text', 'utf8', function (err, dataStr) {
    console.log(err);// 打印失败的结果
    console.log("---------------------");
    console.log(dataStr);// 打印成功的结果
})

Parlons de la façon dutiliser le nœud pour écrire et lire le contenu dun fichier

Déterminez si le fichier est lu avec succès

const fs = require('fs');

fs.readFile('./file/01.txt', 'utf8', function (err, dataStr) {
    if (err) {
        return console.log('读取失败!' + err.message);
    }
    console.log('读取成功!' + dataStr);
})

Succès

Parlons de la façon dutiliser le nœud pour écrire et lire le contenu dun fichier

Échec

Parlons de la façon dutiliser le nœud pour écrire et lire le contenu dun fichier

Utilisez writeFile pour écrire le contenu du fichier

const fs = require('fs');
// 三个参数
// 参数1表示文件存放路径
// 参数2表示要写入文件的内容
// 参数3回调函数
fs.writeFile('./file/02.text', 'Aic大山鱼', function (err) {
    // 写入成功后err的值就是null,且在该文件夹下生成一个02文件 
    if (err) {
        return console.log('文件写入失败!' + err.message);
    }
    console.log('文件写入成功!');
})

Parlons de la façon dutiliser le nœud pour écrire et lire le contenu dun fichier

Organiser les données

Penser au peignage

Condition : Organiser le contenu d'un fichier et mettre dans un autre Le nom du fichier et le score sont séparés par des deux-points

1 Importez le module du système de fichiers fs requis

2 Utilisez la méthode fs.readFile0 pour lire le fichier report-card.txt dans le répertoire du matériel

3. Déterminez si le fichier est lisible. Échec de la récupération

4. Une fois le fichier lu avec succès, traitez les données de score

5. Appelez la méthode fs.writeFile0 pour écrire les données de score traitées dans le nouveau rapport de fichier (1). txt

// 导入fs模块
const fs = require('fs');
// 调用resdFile()方法 读取文件
fs.readFile('./file/report-card.txt', 'utf8', function (err, dataStr) {
    toString(dataStr);
    // 判断是否读取成功
    if (err) {
        return console.log('读取失败!' + err.message);
    }
    // 把获取到的成绩用逗号分隔开保存
    const arrOld = dataStr.split(',');
    // 循环分割后的每一个数组,进行字符串的替换操作
    const arrNew = [];
    // item代表要遍历那个数组里的每一项
    arrOld.forEach(item => {
        // 把=替换成:
        arrNew.push(item.replace('=', ':'))
    });
    // 把新数组的每一项进行合并得到新的字符串
    const newStr = arrNew.join('\n');
    // 使用writeFile()方法,把处理完毕的数据写入到新文件中
    fs.writeFile('./file/report-card(1).txt', newStr, function (err) {
        if (err) {
            return console.log('写入失败!' + err.message);
        }
        console.log('写入成功!');
    })
})

Problème de traitement d'épissage de chemin dynamique

Lors de l'utilisation du module fs pour faire fonctionner des fichiers, si le chemin d'opération fourni est un chemin relatif commençant par / ou ./, il est facile de provoquer des erreurs d'épissage de chemin dynamique.

Raison : Lorsque le code est en cours d'exécution, le chemin complet du fichier en cours d'exploitation sera épissé dynamiquement à partir du répertoire où la commande node est exécutée.

// __dirname 表示当前文件所处的目录
const fs = require('fs');
// 使用方法
fs.readFile(__dirname + '/file/01.txt', 'utf8', function (err, dataStr) {
    if (err) {
        return console.log('读取失败!' + err.messages);
    }
    console.log('读取成功!' + dataStr);
})

Le module path est un module officiellement fourni par Node.js pour le traitement des chemins. Il fournit une série de méthodes et de propriétés pour répondre aux besoins de traitement du chemin de l'utilisateur.

weightméthode path.join(), utilisée pour fusionner plusieurs fragments de chemin en une chaîne de chemin complète .basename utilise

const path = require('path');
// ../会抵消一层路径
const pathStr = path.join('/a', '/v', '../', '/d', 'c');
console.log(pathStr);
pour obtenir le fichier d'extension dans le chemin
méthode path.extname()

const path = require('path');
const fs = require('fs');
fs.readFile(path.join(__dirname, +'/file/01.txt'), 'utf8', function (err, dataStr
) {
    if (err) {
        return console.log(err.message);
    }
    console.log(dataStr);
})

Écrit à la fin

Je m'appelleAic Shanyu

, merci pour votre soutien
La création originale n'est pas facile ✨ J'espère aussi soutenir
Vous aimez ? : Votre appréciation est le moteur pour moi d'avancer !

Collection⭐ : Votre soutien est la source de ma création !

Commentaires✍ : Vos suggestions sont le meilleur remède pour mon amélioration !
Communauté Shanyu :

Communauté Shanyu??

Pour plus de connaissances sur les nœuds, veuillez visiter :
Tutoriel Nodejs
!

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer