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;稍微变一下&#…

IOS的 testflight测试设置

管理员邀请参与者 1、登录开发者账号https://developer.apple.com/account 2、进入后&#xff0c;点击ituns connect 3、点击进入用户和职能 4、在用户栏点击添加按钮 5、输入姓名、邮件 6、勾选职能为“开发人员”&#xff0c;选择所要测试或参与研发的APP 7、不用修改&#x…

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

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

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

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

TOP 子句

TOP 子句TOP 子句用于规定要返回的记录的数目。对于拥有数千条记录的大型表来说&#xff0c;TOP 子句是非常有用的。注释&#xff1a;并非所有的数据库系统都支持 TOP 子句。SQL Server 的语法&#xff1a;SELECT TOP number|percent column_name(s)FROM table_nameMySQL 和 Or…

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()…

个人工作总结7

时间关系&#xff0c;只能等到编完了程序再做工作总结了&#xff0c;今天是第七天: 一、昨天干了什么&#xff1f; 服务器配置了一大圈&#xff0c;尝试了N1种办法&#xff0c;到最后也没有成功&#xff0c;但好像只差一点点&#xff0c;打算明天上移动应用开发咨询一下老师。 …

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

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

python的普通方法、类方法和静态方法

前言 本文主要讲述了python类中的三类常用方法&#xff0c;普通方法、类方法和静态方法。 普通方法会将实例传入方法当中&#xff08;通常用self表示&#xff09;&#xff0c;类方法会将类传入方法当中&#xff08;通常用cls表示&#xff09;&#xff0c;静态方法中传入与类无…

局部内部类和匿名内部类的对比

创建内部类的典型的方式是在一个方法体的里面创建&#xff0c;局部内部类不能有访问说明符&#xff0c;因为它不是外围类的一部分&#xff0c;但是它可以访问当前代码块内的常量,以及此外围类的所有成员。下面的例子对局部内部类与匿名内部类的创建进行了比较。 具体代码实现&a…

Nodejs ejs模板引擎

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

py2中存储的pickle和py3中pickle无法读取的兼容性问题解决方案

问题描述 在py2.7当中&#xff0c;用以下语句将变量存储到pickle当中 with open(../dataset/m_7800/rf_preds.pickle, wb) as f:pickle.dump(rf_preds, f) 这个时候&#xff0c;用py3.6中的pickle取获取存储好的变量 with open(../dataset/m_7800/rf_preds.pickle, rb) as …

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

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

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

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