1. fs.stat 检测是文件还是目录

fs.stat('html',function(err,stats){
if(err){
console.log(err); return false;
} console.log('文件:'+stats.isFile());
console.log('目录:'+stats.isDirectory()); })

2. fs.mkdir 创建目录

  //接收参数:
//path 将创建的目录路径
//mode 目录权限(读写权限),默认0777
//callback 回调,传递异常参数err fs.mkdir('css',function(err){
if(err){
console.log(err); return false;
}
console.log('创建目录成功'); })

3. fs.writeFile 创建写入文件

//filename      (String)            文件名称
//data (String | Buffer) 将要写入的内容,可以使字符串 或 buffer数据。
//options (Object) option数组对象,包含:
//· encoding (string) 可选值,默认 ‘utf8′,当data使buffer时,该值应该为 ignored。
//· mode (Number) 文件读写权限,默认值 438
//· flag (String) 默认值 ‘w'
//callback {Function} 回调,传递一个异常参数err。 fs.writeFile('t.txt','你好nodejs 覆盖','utf8',function(err){ if(err){
console.log(err); return false;
}
console.log('写入成功');
})

4. fs.appendFile 追加文件

fs.appendFile('t1.txt','这是写入的内容',function(err){

  if(err){
console.log(err); return false;
}
console.log('写入成功');
})

5.fs.readFile 读取文件

fs.readFile('t1.txt',function(err,data){
if(err){
console.log(err); return false;
}
//console.log(data); console.log(data.toString()); })

6.fs.readdir 读取目录

fs.readdir('html',function(err,data){

   if(err){
console.log(err); return false;
}
console.log(data); })

7.fs.rename 重命名

fs.rename('html/index.html','html/news.html',function(err){

   if(err){
console.log(err); return false;
}
console.log('修改名字成功');
}) fs.rename('html/css/basic.css','html/style.css',function(err){ if(err){
console.log(err); return false;
}
console.log('剪切成功');
})

8. fs.rmdir 删除目录

fs.rmdir('t',function(err){
if(err){
console.log(err); return false;
}
console.log('删除目录成功');
}) // ENOENT: no such file or directory, rmdir rmdir 这个方法只能删除目录
fs.rmdir('index.txt',function(err){
if(err){
console.log(err); return false;
}
console.log('删除目录成功');
})

9. fs.unlink 删除文件

fs.unlink('index.txt',function(err){

       if(err){
console.log(err);
return false;
}
console.log('删除文件成功');
})

10. fs.createReadStream 从文件流中读取数据

const fs = require('fs')

//流的方式读取文件

var readStream=fs.createReadStream('input.txt');

var str='';/*保存数据*/
var count=0; /*次数*/
readStream.on('data',function(chunk){
str+=chunk;
count++; }) //读取完成
readStream.on('end',function(chunk){
console.log(count);
console.log(str); }) //读取失败
readStream.on('error',function(err){
console.log(err); })

11. fs.createWriteStream 写入文件

var fs = require("fs");
var data = '我是从数据库获取的数据,我要保存起来11\n'; // 创建一个可以写入的流,写入到文件 output.txt 中
var writerStream = fs.createWriteStream('output.txt'); for(var i=0;i<100;i++){ writerStream.write(data,'utf8'); } //标记写入完成
writerStream.end(); writerStream.on('finish',function(){ console.log('写入完成');
}) //失败
writerStream.on('error',function(){ console.log('写入失败');
})

12. 管道流

var fs = require("fs");

// 创建一个可读流
var readerStream = fs.createReadStream('input.txt'); // 创建一个可写流
var writerStream = fs.createWriteStream('output.txt'); // 管道读写操作
// 读取 input.txt 文件内容,并将内容写入到 output.txt 文件中
readerStream.pipe(writerStream); console.log("程序执行完毕");

demo:

//1.判断服务器上面有没有upload目录。没有创建这个目录。   (图片上传)

//要用fs目录必须得引入fs

var fs=require('fs');
//
//fs.stat('upload',function(err,stats){
//
// if(err){ /*没有这个目录*/
// fs.mkdir('upload',function(error){
// if(error){
//
// console.log(error);
// return false;
// }
// console.log('创建成功');
// })
// }else{
// console.log('目录已经存在');
// console.log(stats.isDirectory());
// }
//
//}) //2. 找出html目录下面的所有的目录,然后打印出来 //错误写法
//fs.readdir('html',function(err,files){
// if(err){
// console.log(error);
//
// }else{ /*判断是目录还是文件夹*/
// console.log(files); /*数组*/
//
// for(var i=0;i<files.length;i++){
//
// console.log(files[i]);
// fs.stat(files[i],function(error,stats){ /*循环判断是目录还是文件 ---异步 */
//
// console.log(files[i]);
// })
// }
//
// }
//
//
//})
// //打印出什么 3 3 3
//for(var i=0;i<3;i++){
//
// setTimeout(function(){
// console.log(i);
// },100)
//} //正确的写法 var filesArr=[];
fs.readdir('html',function(err,files){
if(err){
console.log(error); }else{ /*判断是目录还是文件夹*/
//console.log(files); /*数组*/ (function getFile(i){ if(i==files.length){ /*循环结束*/
console.log('目录:');
console.log(filesArr); /*打印出所有的目录*/
return false;
}
//files[i] = css js news.html
//注意:目录
fs.stat('html/'+files[i],function(error,stats){ /*循环判断是目录还是文件 */ if(stats.isDirectory()){ /*目录*/ filesArr.push (files[i]); /*保存数据*/
}
//递归掉用
getFile(i+1);
})
})(0)
}
})

NodeJs FS 文件系统模块的更多相关文章

  1. Node.js:fs文件系统模块

    fs文件系统模块,这是一个非常重要的模块,对文件的操作都基于它.该模块的所有方法都有同步和异步两种方式,下面便介绍一下该模块的使用. 1.检测当前进程对文件的权限 使用fs.access(path[, ...

  2. node.js中fs文件系统模块的使用

    node.js中为我们提供了fs文件系统模块,实现对文件或目录的创建,修改和删除等操作. fs模块中,所有的方法分为同步和异步两种实现. 有 sync 后缀的方法为同步方法,没有 sync 后缀的方法 ...

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

    一.读取文件几个步骤 1.先引入fs文件系统模块 2.使用readfile 或 readFileSync 注意点:它们的回调函数有两个参数,第一个是err,第二个是data,得到的data是buffe ...

  4. node-fs文件系统模块

    在node环境中所有与文件操作都是通过fs核心模块实现的.包括文件的创建.删除.查询以及读写和写入 在 fs 模块中,所有的方法都分为同步和异步两种实现,具有 sync 后缀的方法为同步方法,不具有 ...

  5. node.js常用的fs文件系统

    fs文件系统模块对于系统文件及目录进行一些读写操作. 模块中的方法均有异步和同步版本,例如读取文件内容的函数有异步的 fs.readFile() 和同步的 fs.readFileSync(). 异步的 ...

  6. node.js中常用的fs文件系统

    fs文件系统模块对于系统文件及目录进行一些读写操作. 模块中的方法均有异步和同步版本,例如读取文件内容的函数有异步的 fs.readFile() 和同步的 fs.readFileSync(). 异步的 ...

  7. Node.js 文件系统模块

    章节 Node.js 介绍 Node.js 入门 Node.js 模块 Node.js HTTP模块 Node.js 文件系统模块 Node.js URL模块 Node.js NPM Node.js ...

  8. 大熊君大话NodeJS之------FS文件模块

    一,开篇分析 文件系统模块是一个简单包装的标准 POSIX 文件 I/O 操作方法集.可以通过调用 require("fs") 来获取该模块.文件系统模块中的所有方法均有异步和同步 ...

  9. nodeJS之fs文件系统

    前面的话 fs文件系统用于对系统文件及目录进行读写操作,本文将详细介绍js文件系统 概述 文件 I/O 是由简单封装的标准 POSIX 函数提供的. 通过 require('fs') 使用该模块. 所 ...

随机推荐

  1. Linux(CentOS7)下安装Mysql8数据库

    一.Linux版本 二.先下载Linux下的Mysql包,打开Mysql官网 https://www.mysql.com/ 点击DOWNLOAD,进入 https://www.mysql.com/do ...

  2. springboot2.1.3 配置前后端跨域问题

    很简单,创建一个配置类即可,如下: package com.app.gateway.common.config; import org.springframework.context.annotati ...

  3. Ubuntu不能使用passwd的--stdin的解决办法

    转载请注明来源https://www.cnblogs.com/sogeisetsu/p/11397648.html Ubuntu不能使用passwd的--stdin的解决办法 可以使用chpasswd ...

  4. 第七篇 -- XmlReader 和 XmlWriter

    XmlReader用于读取Xml文件,XmlWriter用于将数据写到Xml文件.其实,在印象当中,XML很多的操作类都支持直接Save.Read也支持接受XmlReader与XmlWriter类的示 ...

  5. NYOJ104-最大和-(前缀和)

    题意:给一个矩阵,每个元素有正有负,求最大矩阵和. 解题: (1)对原矩阵a用前缀和处理,处理变成矩阵sum,sum[i][j]表示从左上角为a[1][1]到右下角a[i][j]的全部元素和. 矩阵必 ...

  6. python - django 项目部署 Ubuntu 服务器后接口访问一直 502 问题

    问题描述:最近有了一台 Ubuntu 的服务器,然后准备部署个项目,结果没想到部署的过程跟用 Centos 的时候还有点不一样,最后一步我是卡在了 uwsgi 这里,访问一直502,且可以访问项目的静 ...

  7. python语言(三)文件修改、函数、json操作、监控日志代码、高效读取文件

    1.文件操作(2)   代码 f = open('a.txt','a') # "a" 如果源文件不在,会自动创建 f.write('abc') result = f.read() ...

  8. Codeforces Round #603 (Div. 2) A. Sweet Problem(数学)

    链接: https://codeforces.com/contest/1263/problem/A 题意: You have three piles of candies: red, green an ...

  9. 论文画图工具使用(2)vision软件

    1 软件安装和破解 https://www.cnblogs.com/shitou6/p/8986396.html 自己的网盘 链接:https://pan.baidu.com/s/1EWU0xLMTI ...

  10. 【luogu 5395】 【模板】第二类斯特林数·行

    code: #include <bits/stdc++.h> #define ll long long #define setIO(s) freopen(s".in", ...