Node.js核心模块-fs文件系统
fs是file-system的简写,文件系统的意思。在Node中如果想要进行文件操作,就必须引入fs这个核心模块。
引入
const fs = require('fs')
fs.readFile(path[, options], callback)
- path:要读取的文件路径
- options:可选
- encoding,指定字符编码
- callback:回调函数,有两个参数,err和data
- err:读取失败返回错误对象,读取成功返回null
- data:读取成功返回读到的数据,否则返回undefined
比如文件路径错误时:err打印出错误对象,data为undefined
const fs = require('fs')
fs.readFile('./1.txt', function (err, data) {
console.log(err)
console.log(data)
})
//{ [Error: ENOENT: no such file or directory, open './1.txt'] errno: -2, code: 'ENOENT', syscall: 'open', path: './1.txt' }
// undefined
文件路径正常且读取成功时:
// null
// <Buffer 68 65 6c 6c 6f>
1.txt中文件读取成功并返回了buffer。文件中原本存储的是二进制数据0和1,二进制转为16进制即buffer。如果想转成我们认识的字符,可以通过toString()方法:
const fs = require('fs')
fs.readFile('./1.txt', function (err, data) {
console.log(data.toString())
})
// hello
或者通过字符编码
const fs = require('fs')
fs.readFile('./1.txt', 'utf8', function (err, data) {
console.log(data)
})
// hello
在读文件时建议做容错,避免读取错误data取不到报错
fs.readFile('./1.txt', function (err, data) {
if (err) {
console.log(err)
} else {
console.log(data.toString())
}
})
fs.writeFile(file, data[, options], callback)
- file:要写入的文件路径
- data:要写入的内容
- options:可选
- callback:回调函数
- err:写入成功时为null,写入错误时为错误对象
fs.writeFile('./2.txt', '你好', function (err) {
if (err) {
console.log(err)
} else {
console.log('写入成功')
}
})
如果当前目录中有2.txt,会写入“你好”,如果当前目录中没有这个文件,会创建文件并写入
fs.readdir(path[, options], callback)
- path:路径
- option:可选
- callback:回调函数
- err
- files 目录中文件名的数组
读取目录的内容
const fs = require('fs')
fs.readdir('/Users/lianglanlan/Desktop/code/study/node/www', (err, files) => {
if (err) {
return console.log('目录不存在')
}
console.log(files) //[ 'a.txt', 'apple', 'index.html', 'index1.html' ]
})
fs.existsSync(path)
- path:路径
- 返回值:布尔类型
如果路径存在,返回true,否则返回false
const fs = require('fs')
if (fs.existsSync('./1.txt')) {
console.log('该路径已存在');
}
fs.statSync(path[, options])
- path:路径
fs.stats类
提供关于文件的信息
stats.isDirectory()
如果是目录,则返回true
Node.js核心模块-fs文件系统的更多相关文章
- node.js核心模块
全局对象 global 是全局变量的宿主 全局变量 在最外层定义的 全局对象的属性 隐士定义的变量(未定义直接赋值的变量) 当定义一个全局变量时 这个变量同时也会成为全局对象的属性 反之亦然 注意: ...
- node.js常用的fs文件系统
fs文件系统模块对于系统文件及目录进行一些读写操作. 模块中的方法均有异步和同步版本,例如读取文件内容的函数有异步的 fs.readFile() 和同步的 fs.readFileSync(). 异步的 ...
- Node.js核心模块-http
通过node中的http模块可以创建编写服务器 引入 const http = require('http') http举例使用: const http = require('http') //引入 ...
- 10.Node.js核心模块
1.全局对象2.常用工具3.事件机制4.文件系统访问5.HTTP服务与客户端 一.全局对象(Global Object), 与window对象一样 process ==> 全局变量, 描述当前N ...
- Node.js核心模块_全局变量、util学习
全局对象 javascript的全局对象是window,他及其所有属性都可以在程序的任何地方访问.即全局变量. 而在node中全局对象是global,所有全局变量都是global对象的属性,包括其本身 ...
- Node.js核心模块API之文件操作
参考:https://www.runoob.com/nodejs/nodejs-fs.html 异步I/O 1,文件操作 2,网络操作 在浏览器中也存在异步操作 1,定时任务 2,事件处理 3,Aja ...
- Node.js中的fs文件系统
fs.stat 检测是文件还是目录 fs.mkdir 创建目录 fs.writeFile 创建写入文件 fs.appendFile 追加文件 fs.readFile 读取文件 fs.readdir 读 ...
- Node.js核心模块-net
net.Socket 类 socket.remotePort 访问服务器的远程端口 const http = require('http'); const server = http.createSe ...
- Node.js核心入门
前言: 因为以前学习Node.js并没有真正意义上的去学习它,而是粗略的学习了npm的常用命令和Node.js一些模块化的语法,因此昨天花了一天的时间看了<Node.js开发指南>一书.通 ...
随机推荐
- pyinstaller 还原python代码的方法
pyinstaller 的作用就是将python打包成对应平台的可执行文件.一般这种可执行文件的体积都比较大. 我们可以先通过逆向软件查看一下具体信息 查看字符串信息 只要有诸如以上的字符串 就说明这 ...
- Java 设置Excel自适应行高、列宽
在excel中,可通过设置自适应行高或列宽自动排版,是一种比较常用的快速调整表格整体布局的方法.设置自适应时,可考虑2种情况: 1.固定数据,设置行高.列宽自适应数据(常见的设置自适应方法) 2.固定 ...
- 第一篇:CDH配置本地http服务
在我们安装cdh的时候,避免不了要安装一大堆软件,包括cm的服务器,hadoop的各种组件.这些组件的文件都比较大,所以我们会在本地配置一个http服务,以便于在安装cdh服务的时候能快速的安装完.本 ...
- C语言之灵魂 指针学习
指针是c语言的难点 称之为c语言的灵魂一点也不为过,不过指针用好了能事半功倍,用不好bug满天飞. 一.指针的概念 指针也是变量只不过是特殊的变量,指针的值是另一个变量的地(也就是变量所在的内存地址) ...
- 聊聊CMDB的前世今生
CMDB,Configuration Management DataBase,配置管理数据库,是与 IT 系统所有组件相关的信息库,它包含 IT 基础架构配置项的详细信息. 传统运维思路下的CMDB, ...
- [python]locals内置函数
locals() Update and return a dictionary representing the current local symbol table. Free variables ...
- 【译文连载】 理解Istio服务网格(第一章 概述)
书籍英文版下载链接为 https://developers.redhat.com/books/introducing-istio-service-mesh-microservices/,作者 Burr ...
- 幸存者偏差Survivorship Bias
"最不符合逻辑的地方,一定埋藏着最深刻的逻辑."——余秋雨<行者无疆> 为什么要说幸存者偏差? 因为2018年全国II卷的描述即为典型的“幸存者偏差”,且这一例子被引入 ...
- sed命令入门
什么是sed sed是一种流处理编辑器,可以分割.查找.替换文本. sed命令的处理流程:行处理 Created with Raphaël 2.1.0在shell中执行sed文本或管道输入读入到模式空 ...
- centos 7 设置 本地更新源
#yum-config-manager --disable \*--屏弊所有更新源#mkdir /r7iso# cd /run/media/{用户名}/CentOS\ 7\ x86_64/ #cp - ...