Node.js——fs模块(文件系统),创建、删除目录(文件),读取写入文件流
/*
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 ? '目录/文件不存在': '文件存在,可以进行读写');
});
作者:houyanhua1
链接:https://blog.csdn.net/houyanhua1/article/details/79443987
来源:CSDN
Node.js——fs模块(文件系统),创建、删除目录(文件),读取写入文件流的更多相关文章
- 从官网学习Node.js FS模块方法速查
最新文档请查看仓库 https://github.com/wangduandu... 1. File System 所有文件操作提供同步和异步的两种方式,本笔记只记录异步的API 异步方式其最后一个参 ...
- Node.js FS模块方法速查
1. File System 所有文件操作提供同步和异步的两种方式,本笔记只记录异步的API 异步方式其最后一个参数是回调函数.回调函数的第一个参数往往是错误对象,如果没有发生参数,那么第一个参数可能 ...
- Node.js:模块
概要:本篇博客主要介绍node.js的模块 1.创建模块 在node.js中创建一个模块非常简单,因为一个文件就是一个模块.我们只需要明白如何从其他文件中获取这个模块.Node.js提供了 expor ...
- node.js fs.open 和 fs.write 读取文件和改写文件
Node.js的文件系统的Api //公共引用 var fs = require('fs'), path = require('path'); 1.读取文件readFile函数 //readFile( ...
- 【node】fs模块,文件和目录的操作
检查文件是否存在,查询文件信息 fs.stat() fs.stat('./server.js', function (err, stat) { if (stat && stat.isF ...
- 37.Node.js工具模块---处理和转换文件路径的工具 Path模块
转自:http://www.runoob.com/nodejs/nodejs-module-system.html Node.js path 模块提供了一些用于处理文件路径的小工具,我们可以通过以下方 ...
- Node.js核心模块API之文件操作
参考:https://www.runoob.com/nodejs/nodejs-fs.html 异步I/O 1,文件操作 2,网络操作 在浏览器中也存在异步操作 1,定时任务 2,事件处理 3,Aja ...
- Node.js之操作文件系统(二)
Node.js之操作文件系统(二) 1.创建与读取目录 1.1 创建目录 在fs模块中,可以使用mkdir方法创建目录,该方法的使用方法如下: fs.mkdir(path,[mode],callbca ...
- [Nodejs] node的fs模块
fs 模块 Node.js 提供一组类似 UNIX(POSIX)标准的文件操作 API. Node 导入文件系统模块(fs).Node.js 文件系统(fs 模块)模块中的方法均有异步和同步版本,例如 ...
随机推荐
- 3.Bootstrap CSS 概述
1.HTML 5 文档类型(Doctype) Bootstrap 使用了一些 HTML5 元素和 CSS 属性.为了让这些正常工作,您需要使用 HTML5 文档类型(Doctype). 因此,请在使用 ...
- git操作合集
目录 安装 下载 本地配置 创建用户凭证ssh 忽略文件 基础操作 新建仓库 克隆仓库 获取更新 推送更新 查看历史 版本回退 分支 别名 linux服务器 疑难问题 清除历史大文件 安装 下载 下载 ...
- 如何使用chrome devtool调试Mobile网页?
凡是做过mobile网页web app开发的朋友一定对开发效率的底下会有吐槽.现在chrome dev tool改变了程序员们的苦比. 0.登录google chrome 1. chrome://in ...
- java笔记--正则表达式的运用(包括电话,邮箱验证等)
正则表达式 --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/3877402.html "谢谢-- 正则表达式符号:" ...
- Python实例---简单购物车Demo
简单购物车Demo # version: python3.2.5 # author: 'FTL1012' # time: 2017/12/7 09:16 product_list = ( ['Java ...
- Linux 下Discuz论坛的搭建
Discuz论坛的搭建[基于LNMP环境搭建成功后] ##创建BBS数据库在本地/远程服务器 mysql -uroot -proot create database bbs; show databas ...
- redis3.2.9编译安装
Redis 3.2.9 安装 Redis 3.2.9 编译安装 1, 安装相关软件包 2, 下载redis源码包 wget http://source.goyun.org:8000/sourc ...
- 自学PHP有哪些书籍和教程值得推荐?
知乎上看到一题主询问:"自学PHP有哪些书籍和教程值得推荐?",互联网深度屌丝秦风给出了不错的答案,希望能够帮助自学PHP的朋友们. 以下仅供参考: 尤其不认可W3school之类 ...
- Yahoo!团队经验:网站性能优化的34条黄金法则
英文原文:http://developer.yahoo.com/performance/rules.html 1.尽量减少HTTP请求次数 (1)合并文件就是通过把所有的脚本放到一个文件中来减少HTT ...
- jq弹框 (1)内容自适应宽度 2(内容框显示,几秒后自动消失)
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&q ...