Node.js fs模块(文件模块)创建、删除目录(文件)读取写入文件流的方法

fs模块.js:

/*
 1. fs.stat 检测是文件还是目录(目录 文件是否存在)
 2. fs.mkdir 创建目录 (创建之前先判断是否存在)
 3. fs.writeFile 写入文件(文件不存在就创建,但不能创建目录)
 4. fs.appendFile 写入追加文件
 5.fs.readFile 读取文件
 6.fs.readdir 读取目录
 7.fs.rename 重命名
 8. fs.rmdir 删除目录
 9. fs.unlink 删除文件
*/
var fs=require('fs');  //fs是node.js的核心模块,不用下载安装,可以直接引入
//1. fs.stat 检测是文件还是目录 fs.statSync()同步获取stats对象,通过返回值接收。
fs.stat('html',function(error,stats){
  if(error){
    console.log(error);
    return false;
  }
  console.log('文件:'+stats.isFile());
  console.log('目录:'+stats.isDirectory());
})
//2. fs.mkdir 创建目录
fs.mkdir('css',function(error){
  if(error){
    console.log(error);
    return false;
  }
  console.log('创建目录成功');
})
//3. fs.writeFile 写入文件(会覆盖之前的内容)(文件不存在就创建) utf8参数可以省略
fs.writeFile('123.txt','你好nodejs 覆盖','utf8',function(error){
  if(error){
    console.log(error);
    return false;
  }
  console.log('写入成功');
})
//4. fs.appendFile 追加文件
fs.appendFile('123.txt','这是写入的内容\n',function(error){
  if(error){
    console.log(error);
    return false;
  }
  console.log('写入成功');
})
//5.fs.readFile 读取文件
fs.readFile('123.txt',function(error,data){
  if(error){
    console.log(error);
    return false;
  }
  //console.log(data); //data是读取的十六进制的数据。 也可以在参数中加入编码格式"utf8"来解决十六进制的问题;
  console.log(data.toString()); //读取出所有行的信息
})
//6.fs.readdir 读取目录下第一级内容 把目录下面的文件和文件夹都获取到。
fs.readdir('html',function(error,data){
  if(error){
    console.log(error);
    return false;
  }
  console.log(data); //data是数组类型,包含文件夹以及文件的名字(只有第一级目录内容)。拿到一个文件夹下面的所有目录
})
//7.fs.rename 重命名 1.改名 2.剪切文件(移动)
fs.rename('html/index.html','html/news.html',function(error){
  if(error){
    console.log(error);
    return false;
  }
  console.log('修改名字成功');
})
//8. fs.rmdir 删除目录  rmdir 这个方法只能删除目录,不能删除文件
fs.rmdir('abc目录',function(error){
  if(error){
    console.log(error);
    return false;
  }
  console.log('删除目录成功');
})
//9. fs.unlink删除文件
fs.unlink('index.txt',function(error){
  if(error){
    console.log(error);
    return false;
  }
  console.log('删除文件成功');
})
//10. fs.createReadStream 从文件流中读取数据,读取的文件比较大时建议用流的方式读取,文件比较大会多次读取。
var fileReadStream = fs.createReadStream( 'data1.json');
var str = '';
fileReadStream.on('data', (data) => {
  console.log("接收到" + data.length);  //文件比较大时,会多次读取,多次执行该回调函数
str += data;
})
fileReadStream.on('end', () => {
  console.log(" --- 结束 ---");
console.log( str );
})
fileReadStream.on('error', (error) => {
  console.log(error)
})
//11. fs.createWriteStream 写入文件流
var fs = require("fs");
var data = "我是从数据库获取的数据,我要保存起来";
var writerStream = fs.createWriteStream('output.txt');
writerStream.write( data , 'UTF8' );
writerStream.end(); //标记文件末尾 结束写入流,释放资源
writerStream.on( 'finish', function() {
  console.log("写入完成。");
});
writerStream.on( 'error', function(error){
  console.log(error.stack);
});
console.log("程序执行完毕");
//12. pipe 管道流
var fs = require("fs");
var readerStream = fs.createReadStream( 'input.txt');
var writerStream = fs.createWriteStream( 'output.txt');
readerStream.pipe( writerStream );
console.log("程序执行完毕");
//13. fs.access 判断目录、文件是否存在(读写权限)
var fs = require('fs');
fs.access('package.json',(err)=>{
  console.log(err ? '目录/文件不存在': '文件存在,可以进行读写');
});

总结

以上所述是小编给大家介绍的Node.js fs模块(文件模块)创建、删除目录(文件)读取写入文件流的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

(0)

相关推荐

  • Node.js中读取TXT文件内容fs.readFile()用法

    文件: read.js: var fs=require('fs'); fs.readFile('readtxt/demo.txt','utf-8',function(err,data){ if(err){ console.error(err); } else{ console.log(data); } }); 启动运行: Node.js读取文件函数语法如下: fs.readFile(filename,[encoding],[callback(err,data)]) filename(必选),表示

  • Node.js调用fs.renameSync报错(Error: EXDEV, cross-device link not permitted)

    在写一个文件上传的功能时候,调用fs.renameSync方法错误 出错 代码所在如下: function upload(response,request){ console.log("upload called"); var form = new formidable.IncomingForm(); console.log("about to parse"); form.parse(request, function(error, fields, files) {

  • node.js使用fs读取文件出错的解决方案

    今天配接口,使用fs模块读取json出现了错误'no such file or directory',然后经查终于解决,特此记录. 使用nodejs的fs模块读取文件时习惯用相对路径,但是运行的时候出现了上述的错误,原因就是fs模块读取文件的相对路径是以启动server.js的位置为基准的,而不是以server.js文件的位置. 这就是这篇文章所要讲述的问题.并且nodejs官方推荐在使用fs模块读取文件时使用绝对路径,而不是相对路径. 但是写绝对路径又有些许麻烦,那该如何解决呢,参考以下代码就

  • node.js中fs文件系统目录操作与文件信息操作

    目录操作 如果存在该目录,就创建失败 同步创建目录fs.mkdirSync(path, [mode]) const fs = require('fs'); let mkdir = './mkdir'; fs.mkdir(mkdir, (err) => { if (err) { console.log(`mkdir ${mkdir} file failed~`); } else { console.log(`mkdir ${mkdir} file success~`); } }); 读取目录 如果

  • node.js用fs.rename强制重命名或移动文件夹的方法

    本文介绍了node.js用fs.rename强制重命名或移动文件夹的方法,首先介绍了rename的用法,具体如下: [重命名文件夹] // rename.js var fs = require("fs"); // 重命名a文件夹为b fs.rename("c:a","C:b",function(err){ if(err){ console.log("重命名失败!"); }else{ console.log("重命名成

  • Node.js fs模块(文件模块)创建、删除目录(文件)读取写入文件流的方法

    fs模块.js: /* 1. fs.stat 检测是文件还是目录(目录 文件是否存在) 2. fs.mkdir 创建目录 (创建之前先判断是否存在) 3. fs.writeFile 写入文件(文件不存在就创建,但不能创建目录) 4. fs.appendFile 写入追加文件 5.fs.readFile 读取文件 6.fs.readdir 读取目录 7.fs.rename 重命名 8. fs.rmdir 删除目录 9. fs.unlink 删除文件 */ var fs=require('fs');

  • node.js基于dgram数据报模块创建UDP服务器和客户端操作示例

    本文实例讲述了node.js基于dgram数据报模块创建UDP服务器和客户端操作.分享给大家供大家参考,具体如下: node.js中 dgram 模块提供了udp数据包的socket实现,可以方便的创建udp服务器和客户端. 一.创建UDP服务器和客户端 服务端: const dgram = require('dgram'); //创建upd套接字 //参数一表示套接字类型,'udp4' 或 'udp6' //参数二表示事件监听函数,'message' 事件监听器 let server = dg

  • Node.js基础入门之模块与npm包管理器使用详解

    目录 require函数 模块分类 第三方模块 1. 安装第三方模块 2. 引入第三方模块 3. 示例测试 系统模块 require注意事项 exports导出对象 1. exports示例 2. exports注意事项 module模块对象 package.json包描述文件 1. 什么是package.json ? 2. 如何创建package.json文件? NPM基础 1. 常用npm命令 2. npm 示例 cnpm基础 1. 什么是cnpm ? 2. 使用cnpm 控制台输出 1.

  • node.js中path路径模块的使用方法实例分析

    本文实例讲述了node.js中path路径模块的使用方法.分享给大家供大家参考,具体如下: path模块是node.js中处理路径的核心模块.可以很方便的处理关于文件路径的问题. join() 将多个参数值合并成一个路径 const path = require('path'); console.log(path.join('./a', 'b', 'c')); basename() 获取路径中的文件名 const path = require('path'); //获取文件名,包含扩展名 con

  • Node.js中SerialPort(串口)模块使用

    目录 目的 模块安装 基础使用 扫描端口 打开端口 发送数据 接收数据 错误处理 数据解析器 SerialPort类 构造方法 属性 事件 方法 命令行工具 总结 目的 上位机与各种电路模块间常常采用串口进行通讯,Node.js中可以使用SerialPort模块操作串口,这篇文章将对其使用进行简单说明. 官网:https://serialport.io/ 文档:https://serialport.io/docs/ 项目地址:https://github.com/serialport/node-

  • Node.js+jade抓取博客所有文章生成静态html文件的实例

    这篇文章,我们就把上文中采集到的所有文章列表的信息整理一下,开始采集文章并且生成静态html文件了.先看下我的采集效果,我的博客目前77篇文章,1分钟不到就全部采集生成完毕了,这里我截了部分的图片,文件名用文章的id生成的,生成的文章,我写了一个简单的静态模板,所有的文章都是根据这个模板生成的. 项目结构: 好了,接下来,我们就来讲解下,这篇文章主要实现的功能: 1,抓取文章,主要抓取文章的标题,内容,超链接,文章id(用于生成静态html文件) 2,根据jade模板生成html文件 一.抓取文

  • Node.JS段点续传:Nginx配置文件分段下载功能的实现方法

    Html5 提供了一个新的 Range 标签来实现文件的分段下载.在Node.JS中可以配置这个标签来实现文件的分段下载. Header标签 请求 Request Header: 下载 3744 以后的文件内容 range: bytes=3744- 返回 Response Header: 文件总长 15522643 个字节 accept-ranges': 'bytes' content-range': 'bytes */15522643' Nginx配置 首先要配置Nginx支持range标签返

  • C#读取写入文件的3种方式示例代码

    目录 1:二进制读写 2:泛型读写: 3:XML读写:不是很稳定 最终效果: 总结 最新对文件的操作比较频繁.这里记录一下常用的几种文件读写的方式. 我这里使用窗体来做测试. 1:二进制读写 /// <summary> /// 二进制写入文件 /// </summary> private void button1_Click(object sender, EventArgs e) { SaveFileDialog saveDlg = new SaveFileDialog(); sa

  • Node.js fs模块原理及常见用途

    JavaScript 的是没有操作文件的能力,但是 Node 是可以做到的,Node 提供了操作文件系统模块,是 Node 中使用非常重要和高频的模块,是绝对要掌握的一个模块系统. fs 模块提供了非常多的接口,这里主要说一下一些常用的接口. 1.常用API快速复习 fs.stat 检测是文件还是目录 const fs = require('fs') fs.stat('hello.js', (error,stats)=>{ if(error) { console.log(error) } els

  • Node.js中的child_process模块详解

    前言 本文主要给大家介绍了关于Node.js中child_process模块的相关内容,在介绍child_process模块之前,先来看一个例子. const http = require('http'); const longComputation = () => { let sum = 0; for (let i = 0; i < 1e10; i++) { sum += i; }; return sum; }; const server = http.createServer(); ser

随机推荐