在node环境中所有与文件操作都是通过fs核心模块实现的。包括文件的创建、删除、查询以及读写和写入

在 fs 模块中,所有的方法都分为同步和异步两种实现,具有 sync 后缀的方法为同步方法,不具有 sync 后缀的方法为异步方法

文件读取

同步文件读取readFileSync

第一个参数为读取文件的路径或文件描述符;

第二个参数为 options,默认值为 null

const fs = require('fs');
fs.readFile('./www/1.txt',(error,data)=>{
if(error){
console.log('404');
}else{
console.log(data.toString());
}
});
//readFileSycn只有成功状态,找不到就报错
try {
let data = fs.readFileSync('./www/1.txt');
console.log(data.toString());
} catch (error) { }
console.log(11111);

异步文件读取readFile

第一个参数为读取文件的路径或文件描述符

第二个参数为 options,默认值为 null

第三个参数为callback回调函数

函数内有两个参数 err(错误)和 data(数据),该方法没有返回值,回调函数在读取文件成功后执行

//文件的读取
fs.readFile("1.txt",function (err,data) {
if (err){
console.log(err)
}else {
console.log(data.toString())
}
})

文件写入

同步文件写入writeFileSync

第一个参数为写入文件的路径或文件描述符

第二个参数为写入的数据,类型为 String 或 Buffer

第三个参数为 options,默认值为 null

const fs = require("fs");
fs.writeFileSync("2.txt", "Hello world");
let data = fs.readFileSync("2.txt", "utf8");
console.log(data);

异步文件写入writeFile

第一个参数为读取文件的路径或文件描述符

第二个参数为 options,默认值为 null

let fs = require('fs');

fs.writeFile('./www/2.txt','dsnadkjsjdksa',(error)=>{
if(error){
console.log('失败');
}else{
console.log('成功');
}
})

文件删除

同步文件删除unlinkSync

const fs = require("fs");
fs.unlinkSync("a/inde.js");

异步文件删除unlink

const fs = require("fs");
fs.unlink("a/index.js", err => {
if (!err) console.log("删除成功");
});

栗子—判断URL是接口还是请求静态资源(页面)

思路:
如果url里面包含?就说明请求的是接口
否则是静态文件。需要拼地址

let http = require('http');//引入http模块用来构建服务器
let fs = require('fs');//需要读写删等操作时候就引入fs文件系统模块
http.createServer((req,res)=>{
//判断是请求接口还是请求静态页面
let url = req.url;
if(url.includes('?')){//如果url包含?代表请求的是接口
//向客户端发送头信息(防止中文乱码)
res.writeHead(200,{'Content-Type':'text/html;charset=utf-8'});
res.write('每天进步一点点');
res.end();
}else{//否则请求的是静态页面
// 斜杠代表 localhost
//默认出现index文件
if(url === '/') {url = '/inex.html';}
//读入文件
fs.readFile('./www'+url,(err,data)=>{
if(err){
//如果没有文件,就读取404页面
let data = fs.readFileSync('./www./404.html');
res.write(data);
}else{
//如果有文件就把文件发给前台
res.write(data);
}
res.end();//写入结束
});
}
}).listen(80);//监听端口

node-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的文件系统模块批量修改文件名

      如果我们需要大批量修改一个文件中的名称,比如,删除文件名中的副本时,就可以借助node的文件系统模块,快捷快速的完成. 首先建立一个js文件(changeName.js),代码如下: // 引入f ...

  5. Node.js 文件系统模块

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

  6. NodeJs FS 文件系统模块

    1. fs.stat 检测是文件还是目录 fs.stat('html',function(err,stats){ if(err){ console.log(err); return false; } ...

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

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

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

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

  9. 33.Node.js 文件系统fs

    转自:http://www.runoob.com/nodejs/nodejs-module-system.html Node.js 提供一组类似 UNIX(POSIX)标准的文件操作API. Node ...

随机推荐

  1. Scala操作Hbase空指针异常java.lang.NullPointerException处理

    Hbase版本:Hortonworks Hbase 1.1.2 问题描述:使用Scala操作Hbase时,发生空指针异常(java.lang.RuntimeException: java.lang.N ...

  2. windows 10 防火墙设置规则:允许特定ip端口

    本例中以如何设置ip为10.242.62.239的电脑通过3306端口访问我的电脑 为例 1, 打开防火墙高级设置,如图所示,操作如下 入站规则->新建规则->自定义->下一步 2, ...

  3. yum下载安装redis

    有时需要离线安装redis,所以需要redis离线安装包,不同的centos版本和redis版本,依赖包不同,本例中,centos: CentOS Linux release 7.0.1406 (Co ...

  4. Var的用法解析

    C#关键字是伴随着.NET 3.5以后,伴随着匿名函数.LINQ而来, 由编译器帮我们推断具体的类型.总体来说,当一个变量是局部变量(不包括类级别的变量),并且在声明的时候初始化,是使用var关键字的 ...

  5. PHP为前端CSS和JS增加时间戳版本号

    一.PHP代码如下: function addVersion($url){ $version = date("Y-m-d H:i:s",filemtime($_SERVER['DO ...

  6. WordPress慢的八种解决方法(用排查法解决)

    WordPress的打开速度慢会影响到用户体验和关键词的稳定排名,WordPress为什么加载慢呢?其实很简单的,就是WordPress水土不服,用WordPress的大家都知道,WordPress是 ...

  7. Windows下的命令神器Cmder

    1. 下载地址: https://cmder.net/ 建议安装完整版本 2.设置与基本使用 1)将cmder添加到环境变量中PATH 2)添加到右键 Cmder.exe /REGISTER ALL ...

  8. P2801 教主的魔法(分块入门)

    两个月之前听yyr学长讲的分块,感觉是个很神奇的暴力,但到现在还是懵的一匹 #include<bits/stdc++.h> using namespace std; ; int belon ...

  9. python爬取某站上海租房图片

    前言 对于一个net开发这爬虫真真的以前没有写过.这段时间开始学习python爬虫,今天周末无聊写了一段代码爬取上海租房图片,其实很简短就是利用爬虫的第三方库Requests与BeautifulSou ...

  10. Linux odoo开发环境配置

    Linux odoo开发环境配置 安装postgresql9.6 第1步:添加RPM源(通过官网获取下载地址) yum install https://download.postgresql.org/ ...