Node中的fs模块

1.fs.stat检测是文件还是目录
2.fs.mkdir创建目录
3.fs.writeFile创建写入文件
4.fs.appendFile追加文件
5.fs.readFile 读取文件
6.fs.readdir读取目录
7.fs.rename重命名
8.fs.rmdir删除目录
9.fs.unlink 删除文件

  1. fs.stat 检测是文件还是目录
const fs = require('fs')fs.stat('./html', function(err, data) {if(err) {console.log(err)return}console.log(`是文件${data.isFile()}`)console.log(`是目录${data.isDirectory()}`)})

在这里插入图片描述

  1. fs.mkdir 创建目录
const fs = require('fs')
fs.mkdir('./css2', function (err) {if (err) {console.log(err)return}console.log('创建成功')
})

在这里插入图片描述

  1. fs.writeFile 创建写入文件
const fs = require('fs')
fs.writeFile('./html/index.html', '你好nodejs', function (err) {if (err) {console.log(err)return}console.log('创建写入文件成功')
})

在这里插入图片描述
在这里插入图片描述

  1. fs.appendFile 追加文件
const fs = require('fs')
fs.appendFile('./css/base.css', 'body{color: red}', function (err) {if (err) {console.log(err)return}console.log('appendFile成功')
})

在这里插入图片描述
在这里插入图片描述

5.fs.readFile 读取文件

const fs = require('fs')
fs.readFile('./html/index.html', function (err, data) {if (err) {console.log(err)return}console.log(data)console.log(data.toString())})

在这里插入图片描述

6.fs.readdir 读取目录

const fs = require('fs') 
fs.readdir('./html', function (err, data) {if (err) {console.log(err)return}console.log(data)
})

在这里插入图片描述

7.fs.rename 重命名

const fs = require('fs')fs.rename('./css/base.css', './css/index.css' ,function (err) {if (err) {console.log(err)return}console.log('重命名成功')
})

在这里插入图片描述

const fs = require('fs')
fs.rename('./css/index.css', './html/base.css' ,function (err) {if (err) {console.log(err)return}console.log('移动文件成功')
})

在这里插入图片描述
8. fs.rmdir 删除目录

const fs = require('fs')
fs.rmdir('./aaa',function (err) {if (err) {console.log(err)return}console.log('删除目录成功')
})

在这里插入图片描述

  1. fs.unlink 删除文件
const fs = require('fs')
fs.unlink('./aaa/index.html',function (err) {if (err) {console.log(err)return}console.log('删除文件成功')
})

在这里插入图片描述

案例1:判断服务器上面有没有upload目录,如果没有就创建这个目录,如果有的话不做操作

// 判断服务器上面有没有upload目录,如果没有就创建这个目录,如果有的话不做操作const fs = require('fs')
var path = './upload'fs.stat(path, function(err, data) {if(err) {// 执行创建目录mkdir(path)return}if(data.isDirectory()) {console.log('upload目录已存在')}else {// 首先删除文件,再去执行创建目录fs.unlink(path, function(err) {if(!err) {mkdir(path)}else {console.log('请检查传入的路径是否正确')}})}
})function mkdir(dir) {fs.mkdir(dir, function(err) {if(err) {console.log(err)return}})
}

案例2: wwwroot 文件夹下面有img css js 以及index.html, 找出wwwroot目录下的所有的目录

// wwwroot 文件夹下面有img css js 以及index.html, 找出wwwroot目录下的所有的目录const fs = require('fs')/* var path = './wwwroot'
var dirArr = []
fs.readdir(path, function(err, data) {if(err) {console.log(err)return}console.log(data)for(var i=0; i<data.length; i++) {fs.stat(path + '/' +data[i], function(error,stats) {if(stats.isDirectory()) {dirArr.push(data[i])}})}console.log(dirArr)
})*/var path = './wwwroot'
var dirArr = []
fs.readdir(path, function (err, data) {if (err) {console.log(err)return}(function getDir(i) {if (i == data.length) {//执行完成console.log(dirArr)return}fs.stat(path + '/' + data[i], function (error, stats) {if (stats.isDirectory()) {dirArr.push(data[i])}getDir(i + 1)})})(0)
})

使用函数闭包解决异步方法执行后拿不到结果的问题:
在这里插入图片描述

10. 以流的方式读取文件

在这里插入图片描述

11. 以流的方式写入文件

在这里插入图片描述
在这里插入图片描述

12. 管道流

管道提供了一个输出流到输入流的机制。通常我们用于从一个流中获取数据并将数据传 递到另外一个流中。
在这里插入图片描述
如上面的图片所示,我们把文件比作装水的桶,而水就是文件里的内容,我们用一根管子(pipe)连接两个桶使得水从一个 桶流入另一个桶,这样就慢慢的实现了大文件的复制过程。 以下实例我们通过读取一个文件内容并将内容写入到另外一个文件中。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/470766.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

主成分分析(PCA)和基于核函数的主成分分析(KPCA)入门

文章目录1 前言2 PCA的原理2.1 什么是投影2.2 投影后的方差2.3 转化为求特征值的问题2.4 符号的表示3 KPCA的原理4 PCA和KPCA在Python中的使用4.1 PCA的使用4.2 KPCA的使用5 参考文献1 前言 主成分分析是在做特征筛选时的重要手段&#xff0c;这个方法在大部分的书中都只是介绍…

算法分类整理+模板①:矩阵快速幂

一直有一个想法&#xff0c;感觉自己很多基础算法不是很扎实&#xff0c;想要找个机会写一些算法的整理&#xff0c;顺便自己总结一些实用的模板。 最近偶然在训练赛中连续做了2道思维矩阵快速幂的题目&#xff0c;碰巧有时间&#xff0c;就以矩阵快速幂作为这个系列博客的开始…

爬虫小记:利用cookies跳过登陆验证码

前言 在爬取某些网页时&#xff0c;登陆界面时经常遇到的一个坎&#xff0c;而现在大多数的网站在登陆时都会要求用户填写验证码。当然&#xff0c;我们可以设计一套机器学习的算法去破解验证码&#xff0c;然而&#xff0c;验证码的形式多种多样&#xff0c;稍微变一下&#…

Nodejs 中的包、npm 、第三方模块、 package.json 以及 cnpm

一、包与 NPM 包Nodejs 中除了它自己提供的核心模块外&#xff0c;我们可以自定义模块&#xff0c;也可以使用第三方的 模块。Nodejs 中第三方模块由包组成&#xff0c;可以通过包来对一组具有相互依赖关系的模块进行 统一管理。 完全符合 CommonJs 规范的包目录一般包含如下…

神经网络中BP(back propagation)到底在干些什么

前言 想要理解神经网络的工作原理&#xff0c;反向传播(BP)是必须搞懂的东西。BP其实并不难理解&#xff0c;说白了就是用链式法则(chain rule)算算算。本文试图以某个神经网络为例&#xff0c;尽可能直观&#xff0c;详细&#xff0c;明了地说明反向传播的整个过程。 正向传…

Nodejs 新特性 async await 的使用 以及使用 async await 处理异步

1. let 和 var 2. const定义常量 3. 模板字符串 4. 属性简写 5. 方法简写 6. 箭头函数 7. 回调函数 7. Promise 8. async 和 await

leetcode 高薪_LeetCode 第 125 号问题:验证回文串

本文首发于公众号「五分钟学算法」&#xff0c;是图解 LeetCode 系列文章之一。个人网站&#xff1a;https://www.cxyxiaowu.com题目来源于 LeetCode 第 125 号问题&#xff1a;验证回文串。这道题目是 初级程序员 在面试的时候经常遇到的一道算法题&#xff0c;而且面试官喜欢…

从拉格朗日乘子法到SVM

前言 本文主要是讲了如何构建SVM的模型&#xff0c;并利用KKT条件构造其对偶型&#xff0c;从而求解问题&#xff0c;并讲述了SVM的硬间隔&#xff0c;软间隔和核函数三个境界。主要参考了周志华的《机器学习》&#xff0c;并在其中补充了自己的想法。由于内容较多&#xff0c…

nodejs 创建一个静态资源服务器 +路由

0、补充 1、Node.js 创建的第一个应用 1、引入 http 模块 var http require("http"); 2、创建服务器 接下来我们使用 http.createServer() 方法创建服务器&#xff0c;并使用 listen 方法绑定 3000 端口。 函数通过 request, response 参数来接收和响应数据。 co…

python输出字体的大小_Python密码学编程:文件的加密与解密

在之前的章节中&#xff0c;编写的程序只能操作较少的信息&#xff0c;这些信息往往是以字符串的形式直接写在代码中的。但本章中的程序可以对整个文件进行加密和解密&#xff0c;文件的大小可以包括成千上万个字符。本章要点open()方法。读、写文件。write()、close()及read()…

电脑k歌软件_金麦客专业k歌app下载|金麦客专业k歌软件 手机安卓版v1.1.5.0 下载...

金麦客专业k歌app能够让用户通过手机直接连接电视&#xff0c;从而在安卓端实现金麦客点歌的目的&#xff0c;平台包含上万高清mv资源&#xff0c;让用户在歌唱时能够更好的代入氛围中&#xff0c;并且还能通过网络直接搜歌&#xff0c;从而在线下载播放&#xff0c;用户在演唱…

Nodejs ejs模板引擎

官方网站&#xff1a;https://www.npmjs.com/package/ejs 我们学的 EJS 是后台模板&#xff0c;可以把我们数据库和文件读取的数据显示到 Html 页面上面。它 是一个第三方模块&#xff0c;需要通过 npm 安装 npm install ejs –save 或者 cnpm install ejs --saveNodejs 中使用…

linux can总线接收数据串口打包上传_关于串口,你需要知道这些!!

嵌入式设备在电路中交换信息的时候必须通过共享一个通用的协议。现在嵌入式系统中已经定义了数百种通信协议来实现数据交换&#xff0c;一般来说可以将其分为两类&#xff1a;并行或串行。并行传输数据是指同时传输多个数据位&#xff0c;它们通常需要数据线和时钟线配合工作&a…

div里嵌套了img底部会有白块问题和图片一像素问题解决

div里嵌套了img底部会有白块 因为img默认是按基线(baseline)对齐的。对比一下图片和右边的p, q, y等字母&#xff0c;你会发现这三个字母的“小尾巴”和图片下方的空白一样高。下面这张图中的黑线就是那条基线。 解决方案&#xff1a;一&#xff1a;vertical-align: bottom&…

Nodejs 中的Get、Post

Get、Post 超文本传输协议&#xff08;HTTP&#xff09;的设计目的是保证客户端机器与服务器之间的通信。 在客户端和服务器之间进行请求-响应时&#xff0c;两种最常被用到的方法是&#xff1a;GET 和 POST。 GET - 从指定的资源请求数据。&#xff08;一般用于获取数据&#…

电脑故障扫描修复软件_电脑故障分析:电脑安装软件提示没有权限的解决方法...

我们安装软件时如果没有权限就会导致安装故障&#xff0c;最近就有用户安装软件的时候出现了无法将数值写入键software的错误提示&#xff0c;请验证您对该键拥有足够的访问权限&#xff0c;或者与您的技术支持人员联系。那么遇到这种问题该怎么办呢&#xff1f;接下来就让我们…

Nodejs 路由封装 封装一个类似 express 的路由

1、模块化的方式封装 routes.js: const http require(http); const fs require(fs); const path require(path) const url require(url) const ejs require(ejs) let getFileMime function (extname) {// 把异步读取文件方法改为同步读取文件方法let data fs.readFileSy…

天翼网关 ddns设置_19,微服务网关之Zuul

这一次给大家分享微服务网关的相关知识&#xff0c;这个也是微服务架构中&#xff0c;相当重要的组件之一&#xff0c;来&#xff0c;下面听我徐徐道来1&#xff0c;API网关概览1.1&#xff0c;现有的交互模式存在什么问题&#xff1f;目前&#xff0c;是客户端会直接跟多个微服…

MongoDB 数据库创建、删除、表(集合) 创建删除、数据的增、删、改、查

一、 连接数据库 1、连接数据库 清屏命令&#xff1a;cls 查看所有数据库列表:show dbs 二、 创建数据库、查看、删除数据库 1、使用数据库、创建数据库 use itying 如果真的想把这个数据库创建成功&#xff0c;那么必须插入一个数据。 数据库中不能直接插入数据&#xff0…

从LeetCode 210. Course Schedule II 了解拓扑排序

问题简述 给定n节课&#xff0c;每节课按0~n-1编号。 在修某些课的时候需要有其它课的基础&#xff0c;必须先上先修课。现在用pair的形式来表示要先修的课&#xff0c;比如 [ [0,1], [1,2] ] 就表示在修课程1之前必须先修课程0&#xff0c;修课程2之前必须修课程1。现在需要给…