nodejs 文件操作
前言:
nodejs 自带的文件操作的模块 fs
就是对文件的增删查改;
就像我们用的服务器,我们没有办法在运行的文件上进行一直的修改,因为他不向浏览器,刷新后我们的文件会自己修改;
如果想要更改我们的服务器文件,我们需要关闭服务器后,重新启动;这样便能达到这样修改文件的效果;
所以我们迫切的需要一种操作,就是在类似于 phpstudy 这种我们可以 在 www 的根目录下 ,我们就可以很轻松的对文件进行操作;
但是,让我们研究文件的话,时间长,且真的很麻烦,但是 nodejs 就为我们 考虑 好了,我们只需要 在 nodejs 自带的 fs 模块中,便能很轻松的打出文件操作
我们需要了解的前提:
文件操作是服务器最慢的操作,二进制数据,文件读取
一个端口只能服务一个人
机器对机器,就是二进制传输
用法:
文件操作的模块 fs ----> 全称 file system 基本的操作:增删查改
服务器的操作都是异步的;
同步和异步的区别?
异步:可以多种操作同时进行 即使:我们的一个操作,出现了卡顿,不运行的操作,我们后面的操作也会执行
同步:相当于排队操作,一个操作完了,后面的才能开始,如果出现了 卡顿,我们的服务器也就只能卡在那里;
读取文件:readFile()
写文件:writeFile()
案例:
所有的回调函数,都是异步操作的一种;
readFile() fs模块读取文件的方法,参数一:要读取的文件,参数二:回调函数, 回调函数的参数:参数一:err ,参数二:data (err:代表文件读取不到,data:代表读取的数据)
    const http=require("http");    // http 模块,用来进行服务器操作
    const fn=require("fs");      // fs 模块,文件操作
    var server=http.createServer(function(req,res){    // 创建的 服务器
	      var file_name="./www"+req.url;           // 我们文件 这种 在服务器的网址 后面输入 根目录情况
	      fn.readFile(file_name,function(err,data){     // fn.readFile()  fs模块读取文件的方法,参数一:读取的文件,参数二:回调函数,回调函数中的参数(err,data)
		        if(err){                    //  err    读取不到返回不到的内容  data  读取到了文件返回的数据
			          res.write("404")            //  res.write()  在浏览器响应我们写文件的内容 
		        }
		        else{
			          res.write(data)          
		        }
		        res.end();               // 每次浏览器将数据请求完  我们用 res.end() 告诉浏览器,你请求完了,不要在这了
	      })
    })
server.listen(8686);
以上是读取文件的操作
案例:
修改文件内容的操作
fs.writeFile() 参数一:要修改的文件 参数二:修改的内容 参数三:回调函数 (回调函数中的参数 err 返回错误的参数)
这种方法,很强大,也就是我们如果我们没有这个文件,他会创建这个文件,如果有这个文件,会直接将里面的内容进行修改
    fs.writeFile("bbb.txt","skdfjsdiofj",function(err){
	      console.log(err);
    })
nodejs 文件操作的更多相关文章
- nodeJS文件操作
		让前端觉得如获神器的不是NodeJS能做网络编程,而是NodeJS能够操作文件.小至文件查找,大至代码编译,几乎没有一个前端工具不操作文件.换个角度讲,几乎也只需要一些数据处理逻辑,再加上一些文件操作 ... 
- nodejs文件操作模块FS(File System)常用函数简明总结(转)
		件系统操作相关的函数挺多的.首先可以分为两大类. 一类是异步+回调的. 一类是同步的. 在这里只对异步的进行整理,同步的只需要在函数名称后面加上Sync即可 1. 首先是一类最常规的读写函数,函数名称 ... 
- nodejs 文件操作模块 fs
		const fs=require("fs"); //文件操作 //创建目录 ./ 代表当前目录 ../ 代表上级目录fs.mkdir('./test',function(err){ ... 
- nodejs文件操作笔记
		nodejs添加了流的概念,通过流操作文件如行云流水,比早前便利畅快多了. 先来第一个例子,我们建一个stream.js文件,里面内容如下: var fs = require("fs&quo ... 
- NodeJS学习之文件操作
		NodeJS -- 文件操作 Buffer(数据块) JS语言自身只有字符串数据类型,没有二进制数据类型,因此NodeJS提供了一个与String对等的全局构造函数Buffer来提供对二进制数据的操作 ... 
- 【nodejs学习】1.文件操作
		1.小文件拷贝,使用nodejs内置模块 var fs = require('fs'); function copy(src, dst){ fs.writeFileSync(dst, fs.readF ... 
- Nodejs学习笔记(4) 文件操作 fs 及 express 上传
		目录 参考资料 1. fs 模块 1.1 读取文件fs.readFile 1.2 写入文件fs.writeFile 1.3 获取文件信息fs.stat 1.4 删除文件fs.unlink 1.5 读取 ... 
- nodejs零基础详细教程2:模块化、fs文件操作模块、http创建服务模块
		第二章 建议学习时间4小时 课程共10章 学习方式:详细阅读,并手动实现相关代码 学习目标:此教程将教会大家 安装Node.搭建服务器.express.mysql.mongodb.编写后台业务逻辑 ... 
- nodejs笔记之文件操作
		文件操作包含: 读取文件 写入文件 删除文件 创建目录 删除目录 读取文件: // 异步操作 var fs = require("fs"); fs.readFile(". ... 
随机推荐
- [.net core]2.hello word(.net core web app模版简介)
			创建一个.net core web app project 弹出这个窗口 empty代表 最低依赖, 意味着往往需要手动按需添加依赖. web应用程序(模型视力控制器) 则会帮你创建好control ... 
- Quartz.net 3.x使用总结(一)——简单使用
			原文:Quartz.net 3.x使用总结(一)--简单使用 阅读目录 1.Quartz.net简介 2.简单使用 3.TriggerBuilder介绍 3.1 SimpleSchedule 3.2 ... 
- Flask运行时指定端口
			在项目入口文件server.php中,有如下代码 if __name__ == '__main__': app.run(debug=True,port=8000) 但是在进入虚拟机中运行 flask ... 
- 外壳程序(shell):命令解释器commond
			在Linux系统中有好几种shell,常见的有:ash.bash.zsh.ksh.tcsh等,计算机一般默认的是bash,使用命令echo $SHELL可以看出我们使用的哪种shell 
- 封装运动框架基本函数(多个属性包括透明度和zIndex)
			<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ... 
- iPhone屏幕适配,历史及现状(http://hjcapple.github.io/2014/10/10/iphone-screen.html)
			iPhone屏幕适配,历史及现状 初代iPhone 2007年,初代iPhone发布,屏幕的宽高是320×480像素.下文也是按照宽度,高度的顺序排列.这个分辨率一直到iPhone 3GS的也保持不变 ... 
- 安卓的几种alert对话框
			@Override public void onClick(View v) { switch (v.getId()) { case R.id.d1: AlertDialog.Builder build ... 
- Librepilot-创建UAVObject及编译到飞机端和地面站端的步骤
			1. 创建UAVObject描述文件(xx.xml),并存放到\librepilot\shared\uavobjectdefinition目录中:2. 在\librepilot\flight\targ ... 
- final修饰符—不可变
			final 修饰符 修饰类 不可以有子类 修饰变量 变量一旦获得初始值就不可改变,不能被重新赋值 成员变量:初始值必须有程序员显式设置,系统不会对其隐式初始化 类变量:静态初始化块 | 声明该类变量时 ... 
- dijkstra算法之优先队列优化
			github地址:https://github.com/muzhailong/dijkstra-PriorityQueue 1.题目 分析与解题思路 dijkstra算法是典型的用来解决单源最短路径的 ... 
