fs方法的使用
先创建一个xxx.js文件,接下来的内容都默认写在这个js文件中。在文件夹中找到xxx.js文件所在目录,在文件目录栏进行cmd操作,然后输入node .\xxx.js便可以运行这个文件了。
- fs.writeFile ----------- 写入文件
fs.writeFile(文件路径,要写入的文件内容,回调函数) 接收三个参数。示例如下
const fs = require('fs');//引入fs fs.writeFile('./lalala.txt','银鞍照白马,飒沓如流星---李白',function(err){ if(err){//判断是否有错误,存在错误就进行报错返回 return console.log("文件写入失败") } console.log("文件写入成功") })
这段代码的意思为我在xxx.js文件所在目录下,将银鞍照白马,飒沓如流星---李白写入了lalala.txt文件中,如果当前目录下不存在这个txt文件便会自动创建一个,值得注意的是在默认情况下写入的内容会覆盖txt文件中原有的内容。如果要使用这个方法来实现文件内容的追加,可以再下面文件追加中查看。
2. fs.stat ----------- 获取文件信息
fs.stat(需要获取的文件路径,回调函数)接收两个参数。示例如下
fs.stat("./lalala.txt",function(err,state){ if(err){ return console.log("获取文件信息失败") } console.log(state); console.log("是否为文件"+state.isFile()) })
返回信息为
上述代码中,state为文件的信息(并不是文件中的内容),其中还提供了几种方法来进行判断验证,可根据自己需要来进行使用。如下
3. fs.readFile ----------- 读取文件
fs.readFile(需要读取的文件路径,读取文件时采用的编码格式(默认为"utf8"),回调函数)接收三个参数,第二个参数可以不写。示例如下
const fs = require('fs') fs.readFile('./lalala.txt', function (err, data) { if (err) {//如果存在,则表示读取文件失败 console.log('读取文件失败了') } else { console.log(data.toString())//成功将会打印出来文件中的数据 } })
这段代码的意思为我读取了xxx.js文件所在目录下的lalala.txt文件,其中有我在第一个方法中写入的银鞍照白马,飒沓如流星---李白。值得注意的是当我们要读取的文件不存在时,也会进入报错中。
4. fs.mkdir ----------- 创建目录
fs.mkdir(需要创建的目录,{是否以递归形式创建目录(默认recursive:false),目录权限(存在默认值,一般不需要使用)},回调删除)接收三个参数。示例如下
fs.mkdir('aaa/ccc',{recursive:true},function(err){ if(err){ return console.log("文件目录创建失败") } console.log("文件目录创建成功") })
上述代码,可以发现我使用了{recursive:true},这个是因为,我想要在xxx.js所在目录下创建aaa目录后继续创建ccc目录,这两个目录都是不存在的。如果不使用recursive:true,将会报错;默认值false下只能生成一级目录,如果要生成多级目录就会报错。
5. fs.readdir ----------- 读取目录
fs.readdir(需要读取的目录路径,回调函数)接受两个参数。示例如下
fs.readdir('aaa/',function(err,files){ if(err){ return console.log("文件目录读取失败") } files.forEach((file)=>{ console.log(file); }) })
上述代码,我想要获取xxx.js所在目录下的aaa目录下的文件,其中files为查询出来的文件列表。
6. fs.rmdir ----------- 删除目录
fs.rmdir(需要删除的目录,回调函数)接收两个参数。示例如下
fs.rmdir("aaa",function(err){ if(err){ return console.log("目录删除失败") } console.log("目录删除成功") })
上述代码指我想要删除xxx.js文件所在目录下的aaa目录。需要注意的是,这个方法删除的目录下不能存在任何东西,比如我需要删除的aaa目录下存在文件或者文件夹,则会删除失败。
7. fs.unlink ----------- 删除文件
fs.unlink(需要删除的文件路径,回调函数)接收两个参数。示例如下
const fs = require('fs') fs.unlink('./lalala.txt',function(err){ if(err){ return console.log("文件删除报错") } console.log("文件删除成功") })
这段代码的意思为我删除了xxx.js文件所在目录下的lalala.txt文件。如果所删除的文件目录不存在,将会进入到报错中。