zoukankan      html  css  js  c++  java
  • Node.js--fs 文件操作

    process 模块 在使用的时候无需通过 require() 函数来加载该模块,可以直接使用。
    fs 模块,在使用的时候,必须通过 require() 函数来加载该模块,方可使用。
    原因:process 模块是全局的模块,而 fs 模块不是全局模块。全局模块可以直接使用,而非全局模块需要通过 require('')  加载该模块。
     

    一、实现文件写入操作

     1 //1.加载文件操作模块,fs 模块
     2 var fs = require('fs');
     3 
     4 //2.实现文件写入操作
     5 var msg = "hello world,你好世界";
     6 
     7 //调用 fs.writeFile() 进行文件写入 
     8 // fs.writeFile() 是异步方法
     9 // fs.writeFile('写入文件的路径','要写入的数据','文档编码格式','回调函数')
    10 fs.writeFile('hello.txt', msg, 'utf8', (err) => {
    11     //如果 err===null,表示文件写入
    12     //只要 err 里面不是null,就表示写入文件失败了!
    13     if (err) {
    14         console.log('写入文件出错拉!具体错误:' + err)
    15     } else {
    16         console.log('ok');
    17     }
    18 });

    二、实现文件读取操作

     1 //1.加载文件操作模块,fs 模块
     2 var fs = require('fs');
     3 
     4 //2.调用 fs.readFile() 方法来读取文件
     5 // fs.readFile('读取文件的路径','文件编码格式','回调函数')
     6 //在读取文件的时候,如果传递了编码格式,那么回调函数中的 data默认就会转换为 字符串,否则data 参数的数据是一个 Buffer 对象,里面保存的就是一个一个的字节(理解为字节数组)
     7 //把 Buffer 对象转换为字符串,调用 toString() 方法
     8 
     9 fs.readFile('./hello.txt', 'utf8', (err, data) => {
    10     if (err) {
    11         throw err;
    12     } else {
    13         console.log(data);
    14     }
    15 });
    1.读取文件中的路径问题

     ./  相对路径,相对的执行 node 命令的路径,而不是相对于正在执行的这个 js 文件来查找 hello.txt

    解决在文件读取中 ./ 相对路径的问题
    解决方法:使用  __dirname、__filename

    __dirname:表示,当前正在执行的 js 文件所在的目录
    ___filename:表示,当前正在执行的 js 文件的完整路径
     
    // console.log(__dirname);   C:UserszhuyujieDesktop odejs1.fs
    // console.log(__filename);   C:UserszhuyujieDesktop odejs1.fs2.fs_readFile.js

    注:__dirname、___filename并不是全局的
     
    应该将上面代码的路径修改成:
     1 var fs = require('fs');
     2 
     3 // var filename= __dirname+'\'+'hello.txt'  (不推荐使用)
     4 
     5 //推荐使用通过 path 模块进行路径拼接
     6 var path = require('path');
     7 
     8 var filename = path.join(__dirname, 'hello.txt')
     9 
    10 // console.log(filename);
    11 
    12 fs.readFile(filename, 'utf8', (err, data) => {
    13     if (err) {
    14         throw err;
    15     }
    16     console.log(data);
    17 
    18 });

     三、创建文件夹

    1 var fs=require('fs');
    2 
    3 fs.mkdir('test-mkdir',(err)=>{
    4 if (err) {
    5     console.log('创建目录出错了,详情'+err);
    6 } else {
    7     console.log('创建目录成功');
    8 }
    9 });
     
     
  • 相关阅读:
    如何通过关键词匹配统计其出现的频率
    好玩的SQL
    如何用Dummy实例执行数据库的还原和恢复
    如何查找特定目录下最大的文件及文件夹
    《Administrator's Guide》之Managing Memory
    Oracle如何实现从特定组合中随机读取值
    如何用分析函数找出EMP表中每个部门工资最高的员工
    Oracle之DBMS_RANDOM包详解
    RAC碎碎念
    如何利用Direct NFS克隆数据库
  • 原文地址:https://www.cnblogs.com/zhuyujie/p/11600943.html
Copyright © 2011-2022 走看看