node-fs文件系统模块
在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文件系统模块的更多相关文章
- Node.js:fs文件系统模块
fs文件系统模块,这是一个非常重要的模块,对文件的操作都基于它.该模块的所有方法都有同步和异步两种方式,下面便介绍一下该模块的使用. 1.检测当前进程对文件的权限 使用fs.access(path[, ...
- node.js中fs文件系统模块的使用
node.js中为我们提供了fs文件系统模块,实现对文件或目录的创建,修改和删除等操作. fs模块中,所有的方法分为同步和异步两种实现. 有 sync 后缀的方法为同步方法,没有 sync 后缀的方法 ...
- Node.js fs文件系统模块
一.读取文件几个步骤 1.先引入fs文件系统模块 2.使用readfile 或 readFileSync 注意点:它们的回调函数有两个参数,第一个是err,第二个是data,得到的data是buffe ...
- 运用node的文件系统模块批量修改文件名
如果我们需要大批量修改一个文件中的名称,比如,删除文件名中的副本时,就可以借助node的文件系统模块,快捷快速的完成. 首先建立一个js文件(changeName.js),代码如下: // 引入f ...
- Node.js 文件系统模块
章节 Node.js 介绍 Node.js 入门 Node.js 模块 Node.js HTTP模块 Node.js 文件系统模块 Node.js URL模块 Node.js NPM Node.js ...
- NodeJs FS 文件系统模块
1. fs.stat 检测是文件还是目录 fs.stat('html',function(err,stats){ if(err){ console.log(err); return false; } ...
- node.js常用的fs文件系统
fs文件系统模块对于系统文件及目录进行一些读写操作. 模块中的方法均有异步和同步版本,例如读取文件内容的函数有异步的 fs.readFile() 和同步的 fs.readFileSync(). 异步的 ...
- node.js中常用的fs文件系统
fs文件系统模块对于系统文件及目录进行一些读写操作. 模块中的方法均有异步和同步版本,例如读取文件内容的函数有异步的 fs.readFile() 和同步的 fs.readFileSync(). 异步的 ...
- 33.Node.js 文件系统fs
转自:http://www.runoob.com/nodejs/nodejs-module-system.html Node.js 提供一组类似 UNIX(POSIX)标准的文件操作API. Node ...
随机推荐
- 从0开始的Python学习012数据结构&对象与类
简介 数据结构是处理数据的结构,或者说,他们是用来存储一组相关数据的. 在Python中三种内建的数据结构--列表.元组和字典.学会了使用它们会使编程变得的简单. 列表 list是处理一组有序的数据结 ...
- python函数与函数式编程
https://www.cnblogs.com/evablogs/p/6699515.html 在理解函数式编程之前,我还是对函数的调用,参数传递以及函数的嵌套调用一头雾水,还是花了点时间整理了写思绪 ...
- sql 存储过程学习
1.存储过程 存储过程可以包含数据操纵语句.变量.逻辑 控制语句等,比如:单个select语句, select语句块,select语句与逻辑控制块. 存储过程优点: 执行速度更快 允许模块化程序设计 ...
- selenium之表格的定位
浏览器网页常常会包含各类表格,自动化测试工程师可能会经常操作表格中的行,列以及某些特定的单元格,因此熟练掌握表格的定位方法是自动化测试实施过程中必要的技能. 被测试网页的HTML代码 <!DOC ...
- tensorflow的基本认识
版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖.如要转贴,必须注明原文网址 http://www.cnblogs.com/Colin-Cai/p/10741013.html 作者:窗户 ...
- Python爬虫爬取网页图片
没想到python是如此强大,令人着迷,以前看见图片总是一张一张复制粘贴,现在好了,学会python就可以用程序将一张张图片,保存下来. 今天逛贴吧看见好多美图,可是图片有点多,不想一张一张地复制粘贴 ...
- vue 绑定样式的几种方式
vue 绑定样式 对象语法 1.v-bind:class设置一个对象,动态切换class <div :class="{'active':isActive}">xxx&l ...
- mange
from flask import Flask app = Flask(__name__) manager = Manager(app) 1. 重写Command class ShellCommand ...
- scala的多种集合的使用(3)之遍历集合的方法
遍历集合的方法 1.用foreach循环遍历一个集合 foreach接收一个函数作为参数.定义的函数应该接收一个元素作为输入参数,然后不要返回任何的东西.输入的参数的类型应该匹配集合中的类型.随着fo ...
- springboot 的部分细节
Application.properties 中#指定端口号 server.port= #指定访问路径必须以/crud/xxx 开始 server.servlet.context-path=/crud ...