记录 fs 模块的方法及使用

1. fs.stat 获取文件大小,创建时间等信息

// 引入 fs 模块
const fs = require('fs'); fs.stat('01.fs.js', (err, stats) => {
if (err) {
console.log(err);
     return false;
} else {
// 检测类型,是文件还是目录
console.log(`文件:${stats.isFile()}`);
console.log(`目录:${stats.isDirectory()}`);
if (stats.isFile()) {
// 文件大小
console.log(`size:${stats.size}`);
// 创建时间
console.log(`birth time: ${stats.birthtime}`);
// 最后一次修改时间
console.log(`modified time:${stats.mtime}`);
}
}
})

结果如下:

文件:true
目录:false
size:
birth time: Wed Jul :: GMT+ (中国标准时间)
modified time:Wed Jul :: GMT+ (中国标准时间)

2. fs.mkdir 创建目录

// 创建目录
// path:将创建的目录路径
// mode:目录权限(读写权限),默认0777
// callback:回调,传递异常参数err
fs.mkdir('css',(err)=>{
if(err){
console.log(err);
     return false;
}
console.log('创建目录成功');
})

3. fs.writeFile 写入文件

// filename  (String)  文件名称

// data  (String | Buffer)   将要写入的内容,可以使字符串 或 buffer数据。

// options  (Object)     option数组对象,包含:

// · encoding  (string)    可选值,默认 ‘utf8′,当data使buffer时,该值应该为 ignored。

// · mode  (Number)   文件读写权限,默认值 438

// · flag    (String)     默认值 ‘w'

// callback {Function}  回调,传递一个异常参数err。
fs.writeFile('t.txt','你好 node.js',(err)=>{
if(err){
console.log(err);
     return false;
   }
    console.log('写入成功');
})

注意: 如果没有 't.txt' 文件,会先创建文件,然后写入内容,如果已经存在 't.txt' 文件,则会覆盖原来的内容

4.fs.appendFile 追加文件

fs.appendFile('t1.txt','这是写入的内容',(err)=>{
if(err){
console.log(err);
return false;
}
console.log('追加成功');
})

注意:如果要追加的文件不存在,则创建该文件,多次执行可以多次追加,而 writeFile 则是覆盖掉原来的内容

5. fs.readFile 读取文件

// 读取文件内容
fs.readFile('index.txt', 'utf-8', (err, data) => {
if (err) {
console.log(err);
return false;
} else {
console.log(data);
}
})

6. fs.readdir 读取目录

比如,我想读取这个目录下的文件及文件夹

// 读取目录
fs.readdir('html',(err,data)=>{
if(err){
console.log(err);
}else{
console.log(data);
}
})

结果如下:

[ 'css', 'index.html', 'js' ]

7.1 fs.rename  重命名

// 重命名
fs.rename('html/index.html','html/news.html',(err)=>{
if(err){
console.log(err);
return false;
}else{
console.log('修改名字成功');
}
})

结果如下:

7.2 fs.rename 重定向

在 html 目录下新建一个 index.css 文件,现在,想将这个文件放入到 css 文件夹下,代码如下:

fs.rename('html/index.css','html/css/index.css',(err)=>{
if(err){
console.log(err);
return false;
}else{
console.log('重定向成功');
}
})

结果如下:

当然,也可以将重命名及重定向同步进行,代码如下:

fs.rename('html/index.css','html/css/basic.css',(err)=>{
if(err){
console.log(err);
return false;
}else{
console.log('重定向及重命名成功');
}
})

结果如下:

8. fs.rmdir 删除目录

fs.rmdir('html/js',(err)=>{
if(err){
console.log(err);
return false;
}else{
console.log('删除js文件夹成功');
}
})

9. fs.unlink 删除文件

//  删除文件
fs.unlink('1.txt',(err)=>{
if(err){
console.log(err);
return false;
}else{
console.log('删除文件成功');
}
})

node.js 中的 fs (文件)模块的更多相关文章

  1. node.js中的fs.rename()方法

    node.js 中的fs.rename()模块 var fs=require('fs');//node.js的核心模块 原生模块.修改文件名称,可更改文件的存放路径 方法说明 : 修改文件名称,可更改 ...

  2. node.js中通过dgram数据报模块创建UDP服务器和客户端

    node.js中 dgram 模块提供了udp数据包的socket实现,可以方便的创建udp服务器和客户端. 一.创建UDP服务器和客户端 服务端: const dgram = require('dg ...

  3. 项目日志的管理和应用 log4js-Node.js中的日志管理模块使用与封装

    开发过程中,日志记录是必不可少的事情,尤其是生产系统中经常无法调试,因此日志就成了重要的调试信息来源. Node.js,已经有现成的开源日志模块,就是log4js,源码地址:点击打开链接 项目引用方法 ...

  4. log4js-Node.js中的日志管理模块使用与封装

    开发过程中,日志记录是不可缺少的事情.尤其是生产系统中常常无法调试,因此日志就成了重要的调试信息来源. Node.js,已经有现成的开源日志模块,就是log4js,源代码地址:点击打开链接 项目引用方 ...

  5. node.js中的fs.appendFile方法使用说明

    方法说明: 该方法以异步的方式将 data 插入到文件里,如果文件不存在会自动创建.data可以是任意字符串或者缓存. 语法: 代码如下: fs.appendFile(filename, data, ...

  6. Node.js中的fs文件系统

    fs.stat 检测是文件还是目录 fs.mkdir 创建目录 fs.writeFile 创建写入文件 fs.appendFile 追加文件 fs.readFile 读取文件 fs.readdir 读 ...

  7. node.js中模块和包

    node.js中模块和包 什么是模块 如何创建并加载模块 1. 创建模块 2. 单次加载 3. 覆盖 exports 如何创建一个包 1. 作为文件夹的模块 2. package.json 如何使用包 ...

  8. Node.js中module文件定义的top-level变量为何是私有的

    在Node.js中,module文件里面使用var,const或者let定义的top-level变量为何是私有的,只能在这个模块文件中使用呢? 原因就是,在模块文件中的内容执行之前,node.js会降 ...

  9. 极简 Node.js 入门 - 3.2 文件读取

    极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...

随机推荐

  1. 【计算机网络mooc】二、物理层

    1.物理层基本概念 物理层只考虑传输bit流,不包括网线等传输媒体(可认为是第0层),屏蔽传输媒体的差异,不同的传输媒体定义不同标准. 主要任务:确定与传输媒体的接口的特性. 机械特性:网线上面的水晶 ...

  2. PHP定时任务实现(计划任务 vs node.js)

    PHP自动任务(单线程) 一.计划任务实现 :最终需要在服务器(windows)上 设置计划任务 1.写好php任务文件 auto.php:链接数据库 判断条件操作数据库 2.创建bat文件 例:ru ...

  3. ACM 中的对拍程序

    所谓对拍,就是随机生成数据,然后用一个肯定正确的暴力算法的程序,去测试一个要提交的程序. 由于比赛中一般使用 Linux 系统,所以本篇博客的代码都是 Linux 下的程序代码. 其实最简单的方式是写 ...

  4. 15-python基础-元组

    1.元组的定义 Tuple(元组)与列表类似,不同之处在于元组不能修改. 元组表示多个元素组成的序列. 元组在python开发中,有特定的应用场景. 用于存储一串信息,数据之间使用,分割 元组用()定 ...

  5. 小部分安卓手机 reload 等方法不执行

    自己解析 url 来赋值刷新页面  方法如下:// location.href function updateUrl(url, key) {     var key = (key || 't') + ...

  6. Permission denied

    记录在一次启动tomcat时提示:Permission denied 信息. 解释一下Permission denied的意思-没有权限 解决办法: sudo chmod -R 777 某一目录其中- ...

  7. accordion(分类)组件

    一.依赖于 Panel(面板)组件 二.class加载方式 <div id="box" class="easyui-accordion" style=&q ...

  8. Coin Slider

    题目描述 You are playing a coin puzzle. The rule of this puzzle is as follows: There are N coins on a ta ...

  9. 杭电多校第四场-H- K-th Closest Distance

    题目描述 You have an array: a1, a2, , an and you must answer for some queries.For each query, you are g ...

  10. SNAT 和 DNAT

    SNAT是原地址转换,DNAT是目标地址转换. SNAT 内部地址要访问公网上的服务时,内部地址会主动发起连接,将内部地址转换成公有ip.网关这个地址转换称为SNAT 企业内部的主机A想访问互联网上的 ...