模块的使用,必须先引入模块

 var fs = require('fs');

1. readFile 和 readFileSync

 var fs = require('fs');
//01 readFile var readFile = (path) => {
fs.readFile(path, (err, data) => {
if (err) throw err;
console.log('文件读取成功');
console.log(data.toString());
});
}
// readFile('./package.json');
//02 readFileSync var readFileSync = (path) => {
var content = fs.readFileSync(path).toString();
console.log(content);
}
readFileSync('./package.json');

2.writeFile 和 readFileSync

将指定内容写入文件,如果该文件不存在,则自动创建文件, appendFile也具有自动创建的功能;

 //03 writeFile

 var writeFile = (path, data) => {
fs.writeFile(path, data, (err) => {
if (err) throw err;
console.log('文件异步写入成功');
})
}
// writeFile('./index.html', '<h1>hello<h1/>'); //04 writeFileSync var writeFileSync = (path, data) => {
fs.writeFileSync(path, data);
console.log('文件同步写入成功');
}
writeFileSync('./index.html', '<h1>hello<h1/>');

3. appendFile 和 appendFileSync

 //05 appendFile(path,data,'utf-8',function(err){})

 var appendFile = (path,data)=>{
fs.appendFile(path,data,'utf-8',(err)=>{
if(err) throw err;
console.log('文件异步添加成功');
})
}
//06 appendFile('./index1.html','<h1>hello</h1>'); var appendFileSync = (path,data)=>{
fs.appendFileSync(path,data);
console.log('文件同步添加成功');
}
appendFileSync('./index2.html','<h1>hello world</h1>');

4. mkdir 和 mkdirSync

 //06 mkdir

 var mkdir=(path)=>{
fs.mkdir(path,(err)=>{
if(err) throw err;
console.log('异步创建文件夹');
})
}
// mkdir('./hello'); //07 mkdirSync
var mkdirSync = (path)=>{
fs.mkdirSync(path);
console.log('同步创建文件夹');
}
mkdirSync('./world');

5. readdir 和 readdirSync

 //08 readdir

 var readdir = (path) =>{
fs.readdir(path,(err,fileNames)=>{
if(err) throw err;
console.log('异步读取文件夹成功');
console.log(fileNames.toString());
})
}
// readdir('./server'); //09 readdirSync var readdirSync = (path)=>{
var fileNames = fs.readdirSync(path);
console.log(fileNames.toString());
}
readdirSync('./server');

6. exists 和 existsSync

 //09 exists

 var exists = (path)=>{
fs.exists(path,(result)=>{
if(result){
console.log('存在该文件夹');
}else{
console.log('不存在该文件夹');
}
});
//如果存在则返回true,不存在返回false;
}
// exists('./hello'); //10 existsSync var result = fs.existsSync('./hello1');
console.log(result);
if(!result){
fs.mkdir('./hello1')
}else{
console.log('已经存在')
}

练习:

1.fs+path练习
01.判断 当前路径下的public是否存在,不存在则创建
02.判断 public下的index.html文件是否存在,不存在则创建 <h1>index</h1>
03.创建成功,取出来数据,添加到当前路径下的static文件夹下的index.html里

2.合并js文件
01.循环js文件夹下所有js文件,合并到一个js文件里
02.如果js文件夹下还有子文件夹,循环子文件夹里面所有的js,也合并到条件1中的同一个js文件中

fs模块(一)的更多相关文章

  1. nodejs模块——fs模块

    fs模块用于对系统文件及目录进行读写操作. 一.同步和异步 使用require('fs')载入fs模块,模块中所有方法都有同步和异步两种形式. 异步方法中回调函数的第一个参数总是留给异常参数(exce ...

  2. node.js系列笔记之fs模块《二》

    一:感触 最近工作比较忙,感觉也比较多,因为工作上的不顺利,再加上加班比较多,所以最近心情不是很好,再加上英语能力差到不行,所以最近半个月学习进度也比较慢, 但还是告诉自己每天都坚持学一点,即使今天心 ...

  3. node.js之fs模块

    一.fs模块的mkdir函数,创建文件夹 var http = require("http"); var fs = require("fs"); var ser ...

  4. [Nodejs] node的fs模块

    fs 模块 Node.js 提供一组类似 UNIX(POSIX)标准的文件操作 API. Node 导入文件系统模块(fs).Node.js 文件系统(fs 模块)模块中的方法均有异步和同步版本,例如 ...

  5. NodeJs Fs模块

    和前面的Http.Url模块一样,Fs模块也是node的核心模块之一,主要用于对系统文件及目录进行读写操作. 基本方法 fs.stat fs.stat可以用来判断是文件还是目录:stats.isFil ...

  6. [js]nodejs初探http/url/fs模块

    难怪我没学会, 因为我的套路有问题. 错误点, 1,大而全 2,不注重思路 学习要领: 1, 小而精 2, 重思路(总结) nodejs特点: 1.node提供了js的运行环境, 一般将node运行在 ...

  7. node(03)--利用 HTTP 模块 URl 模块 PATH 模块 FS 模块创建一个 WEB 服务器

    Web 服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等 Web 客户端提供文档,也可以放置网站文件,让全世界浏览:可以放置数据文件,让全世界下载.目前最主流的三个 We ...

  8. Node.js 文件系统fs模块

    Node.js 文件系统封装在 fs 模块是中,它提供了文件的读取.写入.更名.删除.遍历目录.链接等POSIX 文件系统操作. 与其他模块不同的是,fs 模块中所有的操作都提供了异步的和 同步的两个 ...

  9. 【node】fs模块,文件和目录的操作

    检查文件是否存在,查询文件信息 fs.stat() fs.stat('./server.js', function (err, stat) { if (stat && stat.isF ...

  10. nodejs学习笔记一( sublime、atom开发环境,http模块,fs模块的初识)

    http服务   let server = http.createServer(function(req,res){       });   监听: server.listen(8080);   re ...

随机推荐

  1. 使用joda-time工具类 计算时间相差多少 天,小时,分钟,秒

    下面程序使用了两种方法计算两个时间相差 天,小时,分钟,秒 package jodotest; import java.text.ParseException; import java.text.Si ...

  2. synchronized的作用

    一.同步方法 public synchronized void methodAAA(){ //-. } 锁定的是调用这个同步方法的对象 测试:a.不使用这个关键字修饰方法,两个线程调用同一个对象的这个 ...

  3. SQL Server 2008R2的安装

    一.安装前的准备工作:SQL Server 200R2安装包 二.SQL Server2008R2的安装 1.打开SQL Server2008R2的安装包,找到setup.exe 2.双击sql se ...

  4. python基础(3):输入输出与运算符

    今天总结一下最基础的输入输出和运算符 输入: python3里都是input("") input() name = input()    #输入的值会直接赋值给name name ...

  5. es6的模块化编程

    es6的模块化编程 基本用法 es6 中新增了两个命令 export 和 import , export 命令用于规定模块的对外接口,import 命令用于输入其他模块提供的功能. 一个模块就是一个独 ...

  6. HTML5中a标签的锚点使用

    前几天有个用户问我关于在线手册功能里的锚点问题.因为他通过代码发现,在编辑手册内容时,锚点的设置是通过id选择器来制定的,而不是带有name属性的a标签.其实这是HTML5和HTML4(XHTML)等 ...

  7. Python运维开发基础-概述-hello world

    Hello World 任何一门计算机语言几乎都是从hello world开始的,为了遵从这一优秀的传统习惯,我们也从打印hello world开始. linux系统进入Python环境,直接打Pyt ...

  8. 【转载】 ISO14229系列之二:诊断指令格式和相关概念

    转载链接:http://www.cnblogs.com/autogeek/p/4458658.html 1. 简单的通信机制 其实诊断通信的机制很简单,可以类比client-server通信方式,即客 ...

  9. JAVA入门[22]—thymeleaf

    一.thymeleaf官网 官网:https://www.thymeleaf.org/index.html doc:https://www.thymeleaf.org/documentation.ht ...

  10. (转)JAVA新特征

    Java线程:新特征-有返回值的线程   在Java5之前,线程是没有返回值的,常常为了“有”返回值,破费周折,而且代码很不好写.或者干脆绕过这道坎,走别的路了.   现在Java终于有可返回值的任务 ...